字符串匹配
re.match(p,text)
参数p为正则表达式,text是要验证的字符串
匹配成功返回Match对象,否则返回none
字符串查找
re.search(p,text)
re.findall(p,text)
#!/usr/bin/python3
import re
print(re.search('www', 'www.runoob.com').span()) # 在起始位置匹配
print(re.search('com', 'www.runoob.com').span()) # 不在起始位置匹配
输出:
(0, 3)
(11, 14)
re.match 只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回 None,而 re.search 匹配整个字符串,直到找到一个匹配。
import re
result1 = re.findall(r'\d+','runoob 123 google 456')
pattern = re.compile(r'\d+') # 查找数字
result2 = pattern.findall('runoob 123 google 456')
result3 = pattern.findall('run88oob123google456', 0, 10)
print(result1)
print(result2)
print(result3)
输出结果:
[‘123’, ‘456’]
[‘123’, ‘456’]
[‘88’, ‘12’]
字符串替换
>>> import re
>>> p=r'\d+'
>>> text='AB12CD34EF'
>>> repace_text=re.sub(p,' ',text)
>>> repace_text
'AB CD EF'
>>> repace_text=re.sub(p,' ',text,count=1)
>>> repace_text
'AB CD34EF'
字符串分割
>>> import re
>>> p=r'\d+'
>>> text='AB12CD34EF'
>>> clist=re.split(p,text)
>>> clist
['AB', 'CD', 'EF']
>>> clist=re.split(p,text,maxsplit=1)
>>> clist
['AB', 'CD34EF']
>>> clist=re.split(p,text,maxsplit=2)
>>> clist
['AB', 'CD', 'EF']