码迷,mamicode.com
首页 > 其他好文 > 详细

re正则匹配

时间:2019-09-03 16:27:01      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:转换   字符集   需要   合规   pre   常用   注意   包括   不用   

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正则匹配

标签:转换   字符集   需要   合规   pre   常用   注意   包括   不用   

原文地址:https://www.cnblogs.com/CXMS/p/11453523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!