Python这6个正则表达式常用高频函数是重中之重,你会吗?收藏了
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']