PYTHON_正则表达式

字符匹配方法

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。

通配符:*

元字符:\    ^    $   *    +     .    |    ?    {}    []    ()

^ 表示匹配字符串的开头。在多行模式下匹配每一行的开头

$ 表示匹配字符串的结尾。在多行模式下匹配每一行的尾部。

\ 反斜杠后面可以加不同的字符以表示特殊意义,d,D,s,S,w,W

重复匹配字符(匹配符号前字符,匹配次数代表能够匹配到的字符数量):*    +     ?    {}__指定匹配字符数量

其它匹配字符 () | .

组合 .* .*? (.*?)

符号组合(.*?)

方法:findall,search,sub

re.findall(匹配规则,待匹配项)

1 res = r‘^hello‘      #匹配规则      ^
2 s = ‘hello world ,hello python hello boy‘      #待匹配项
3 re.findall(res,s)

原则:先抓大再抓小

findall 匹配所有内容,返回列表 re.findall(pattern, string, flags=0)

search 匹配第1个内容,返回对象 re.search(pattern, string, flags=0)

sub 替换所有内容,返回替换后值 re.sub(pattern, repl, string, count=0, flags=0)

时间: 2024-08-01 22:46:57

PYTHON_正则表达式的相关文章

Python_正则表达式元字符

1 ''' 2 常用的正则表达式元字符 3 . 匹配换行符以外的任意单个字符 4 * 匹配位于'*'之前的字符或子模的0次或多次出现 5 + 匹配位于'+'之前的字符或子模式的1次或多次出现 6 - 用在[]之内用来表示范围 7 | 匹配位于'|'之前或之后的字符 8 ^ 匹配行首,匹配以^后面的字符开头的字符串 9 $ 匹配行尾,匹配以$之前的字符结束的字符串 10 ? 匹配位于'?'之前的0个或1个字符.当此字符紧随任何其他限定符(*.+.?.{n}.{n,}.{n,m}之后时,匹配模式是'

Python_正则表达式语法

1.正则表达式中的操作符: 2.re库的使用: import re #search方法要求只要待匹配的字符串中包含正则表达式中的字符串就可以 match = re.search('python+','1988 pythonnnn 2019') print(match.group()) #match()方法要求待匹配的字符串开头必须要和正则表达式中的字符串一样 match = re.match('python+','pythonnnnn 2018') print(match.group()) 原文

Python_常用的正则表达式处理函数

正则表达式就是用查找字符串的,它能查找规则比较复杂的字符串反斜杠:正则表达式里面用"\"作为转义字符. 1 s='<a class="h3" href=""><b>python学习笔记</b></a>' 2 3 print(re.findall(r'\<a class\=\"h3\" href\=\"\"><b>(.*)\<\/b

【Linux系列】【基础版】第四章 Shell基础之正则表达式

4. Shell基础之正则表达式     4.1 正则就是一串有规律的字符串         4.1 grep              4.1.1 格式: grep [-cinrvABC] 'word' filename             4.1.2 -c //count,表示行数             4.1.3 -i //不区分大小写             4.1.4 -n  //显示行号             4.1.5 -r  //遍历所有子目录             4

正则表达式中的逆向思维

人们的正常思维都是顺向的,那么逆向思维呢,特别是初学正则表达式的同学们,好不容易掌握了正则表达式的用法,再突然要你用逆向思维做题,会有很多不适应: 这里拿三道题,来做简单介绍: 1.经典例题取IP: [[email protected] ~]# ifconfig eth0|sed -nr '2s#^[^0-9]+(.*)[a-Z]{5,}.*#\1#gp' 10.0.0.200 2.调换/etc/passwd中最后一列和第一列的位置: [[email protected] ~]# head /p

JAVA正则表达式:Pattern类与Matcher类详解(转)

java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式. Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查. 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作

前端学PHP之正则表达式函数

前面的话 正则表达式不能独立使用,它只是一种用来定义字符串的规则模式,必须在相应的正则表达式函数中应用,才能实现对字符串的匹配.查找.替换及分割等操作.前面介绍了正则表达式的基础语法,本文将详细介绍正则表达式函数 匹配与查找 [preg_match()] preg_match()函数用来执行一个正则表达式匹配,搜索subject与pattern给定的正则表达式的一个匹配.返回pattern的匹配次数.它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后将会停止搜索.preg

正则表达式

grep命令和正则表达式 一. 正则 : 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑.给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作"匹配"):2. 可以通过正则表达式,从字符串中获取我们想要的特定部分. 正则表达式和通配符一样,也是一组特殊符号,通配符是由sh

java中的正则表达式

正则表达式 : 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. 一些字符所代表的意思: \        将下一字符标记为特殊字符.文本.反向引用或八进制转义符^       匹配输入字符串开始的位置$       匹配输入字符串结尾的位置.        匹配任何单个字符\s      空白(空格符.换行符.回车符.制表符)\S     非空白[]