re正则匹配

Posted cxms

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了re正则匹配相关的知识,希望对你有一定的参考价值。

import re  #导入re
a=re.findall("picture","picture what i find")  #re模块  re.findall("匹配规则","匹配规则所在字符串")
print(a)

1、^元字符:字符串开始位置与匹配规则符合就匹配,否则不匹配

import re  #导入re
a=re.findall("^picture","picture what i find")  #re模块  re.findall("匹配规则","匹配规则所在字符串")
print(a)
[picture]

 

^元字符写到[]字符集里就是反取

import re  #导入re
a=re.findall("[^picture]","picture what i find")  #re模块  re.findall("匹配规则","匹配规则所在字符串")
print(a)
[‘ ‘, ‘w‘, ‘h‘, ‘a‘, ‘ ‘, ‘ ‘, ‘f‘, ‘n‘, ‘d‘]

 

2、$字符:字符串结束位置与匹配规则相匹配则匹配,$在匹配规则结尾

import re  #导入re
a=re.findall("picture$","this is the picture")  #re模块  re.findall("匹配规则","匹配规则所在字符串")
print(a)

 

3、*元字符:需要字符串里完全符合,匹配规则,就匹配,(规则里的*元字符)前面的一个字符可以是0个或多个原本字符,*在匹配规则后面

import re  #导入re
a=re.findall("picture*","this is the pictureeeeeeeeee")  #re模块  re.findall("匹配规则","匹配规则所在字符串")
print(a)
[pictureeeeeeeeee]

 4、+元字符:需要字符串里完全符合,匹配规则,就匹配,(规则里的+元字符)前面的一个字符可以是1个或多个原本字符

import re  #导入re
a=re.findall("picture+","picture this is the pictureeeeeeeeee")  #re模块  re.findall("匹配规则","匹配规则所在字符串")
print(a)
[picture, pictureeeeeeeeee]

5、\w匹配包括下划线在内任何字母数字字符,它相当于类[a-zA-Z0-9_] 

常用函数:

1、match函数:从头匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None

注意:match()函数 与 search()函数基本是一样的功能,不一样的就是match()匹配字符串开始位置的一个符合规则的字符串,search()是在字符串全局匹配第一个合规则的字符串

 

import re  #导入re
data="picture this is the pictureeeeeeeeee"
a=re.match("p\w+",data)
print(a.group())  #获取匹配到的所有结果,不管有没有分组将匹配到的全部拿出来
输出:picture

2、compile函数:search,match和findall操作时,python会将字符串转换为正则表达式对象。而使用compile完成一次转换之后,在每次使用模式的时候就不用重复转换。

import re  #导入re
data=asd23asd34455asd55
patten=re.compile(\d+)
a=patten.search(data)
print(a.group())  #获取匹配到的所有结果,不管有没有分组将匹配到的全部拿出来
输出:23

 

以上是关于re正则匹配的主要内容,如果未能解决你的问题,请参考以下文章

re正则匹配

Python使用re模块进行正则匹配日期和时间

python - re正则匹配模块

Python之re模块----正则匹配

re正则匹配模块_python

Python re函数 中文正则匹配