python3正则表达式总结

1.re.compile(),用于编译正则表达式,生成一个正则表达式对象,供给其他函数使用。

1
2
3
4
import re
pattern = re.compile(r'([a-z]+) ([a-z]+)',re.I) #re.I是忽略大小写
m = pattern.match('Hello World Wide Web')
print(m.group(0)) #返回匹配成功的整个子串 'Hello World'
1
2
3
4
5
# 字符串去重
import re
p = re.compile(r"([a-zA-Z])(\1+)") #在compile的时候就分组
s = "abbbcc"
print(p.sub(r"\1",s)) #abc
1
2
3
4
5
#统计字符串中每个数出现次数
import re
p = re.compile(r"([a-zA-z])(\1+)")
s = "abbbcc"
print(p.sub(lambda m : m.group(1)+str(1+len(m.group(2))),s)) #a1b3c2

group(1)是返回匹配的第一个结果,group(2)是第二个。

2.re.match()只查找头部,如果头部没有匹配的则返回None。

3.re.search()会匹配全部字符串,直到找到一个匹配。