#引入正则表达式模块
import re
#正则表达式
pattern = 'xxx'
#匹配的字符串
string = 'xxxxx'
常见函数:
1.re.match(pattern,string) 从头开始匹配
例:
pattern = 'a.*a'
string1 = 'aba'
string2 = 'baa'
print(re.match(pattern,string1)) 可以匹配 结果为<_sre.SRE_Match object; span=(0, 3), match='aba'>
print(re.match(pattern,string2)) 无法匹配 结果为 None
string1 = 'aba'
string2 = 'baa'
print(re.match(pattern,string1)) 可以匹配 结果为<_sre.SRE_Match object; span=(0, 3), match='aba'>
print(re.match(pattern,string2)) 无法匹配 结果为 None
2.re.search(pattern,string) 全文匹配 只匹配一个
例:
pattern = 'a.*a'
string1 = 'aba'
string2 = 'baa'
print(re.search(pattern,string1)) 可匹配 <_sre.SRE_Match object; span=(0, 3), match='aba'>
print(re.search(pattern,string2)) 可匹配 <_sre.SRE_Match object; span=(1, 3), match='aa'>
string1 = 'aba'
string2 = 'baa'
print(re.search(pattern,string1)) 可匹配 <_sre.SRE_Match object; span=(0, 3), match='aba'>
print(re.search(pattern,string2)) 可匹配 <_sre.SRE_Match object; span=(1, 3), match='aa'>
3.预编码 re.compile(pattern).findall(string) 找出所有匹配的 多个
例:
pattern = 'aaa'
string2 = 'baaaaaa'
print(re.search(pattern,string2)) 可匹配 结果为<_sre.SRE_Match object; span=(1, 4), match='aaa'>
print(re.compile(pattern).findall(string2)) 可匹配 结果为 ['aaa', 'aaa']
4.用正则进行替换 re.sub(pattern,rep,string,max) pattern匹配的正则 rep替换的内容 string元数据 max替换次数 默认全部替换
pattern = 'aaa'
string2 = 'baaaaaa'
print(re.sub(pattern,'bbb',string2,1)) 结果为 bbbbaaa