欢迎光临散文网 会员登陆 & 注册

Python这6个正则表达式常用高频函数是重中之重,你会吗?收藏了

2022-05-07 13:51 作者:软件测试技术之美  | 我要投稿

Python之正则常用函数详解

案例一:

#complie编译后执行速度更快,findall返回匹配列表

import re

r=r'a[bcd]e'

p=re.compile(r)

print(re.findall(r,'abe,ace,ade,afe'))

代码执行结果: ['abe', 'ace', 'ade']

案例二:

import re

r=r'(a[bcd]e)'

res=re.match(r,'abe,ace,ade,afe')

代码执行结果: ('abe',)

print(res.groups())代码执行结果:['ac', 'aac', 'aaac', 'aaac']

案例三:

import re

r=r'(a[bcd]e)'

res=re.match(r,'afe,ace,ade')

print(res.groups()) #match只匹配字符串的开头,afe不对,就返回none

代码执行结果:None

注意事项:在新版本中res.groups函数已不能使用。

案例四:

#search匹配字符串全文,返回第一个匹配的内容

import re

r=r'(a[bcd]e)'

ress=re.search(r,'afe,ace,ade')

print(ress.groups())#search是匹配全文,第一个afe不对,不输出,第二个是对的,算是第一个匹配的就输出

代码执行结果:('ace',)

案例五:

import re

str = 'welcome to python world!'

r=r'(.*)to(.*?).*'

matchObj=re.match(r,str)

if matchObj:

print(matchObj.group())

print(matchObj.group(1))

print(matchObj.group(2))

print(matchObj.groups())

print(matchObj.group(1,2))

else:

print('no match')

代码执行结果:

案例六:

import re

r=r'1a*?'

print(re.findall(r,'1bc,1ac,1aac,a1aac,'))

代码执行结果:['1', '1', '1', '1']



Python这6个正则表达式常用高频函数是重中之重,你会吗?收藏了的评论 (共 条)

分享到微博请遵守国家法律