导包
import re
导入模块
常用函数
re.findall(r'正则',匹配对象)
:查找所有,返回一个列表。r为取消python层面的转义
re.match(r'正则',匹配对象)
:从开头开始匹配,只匹配1个,开头匹配不成功返回None
re.search(r'正则',匹配对象)
:从任意位置开始匹配,只匹配1个,匹配不成功返回None
re.sub(r'正则','替换成的对象',匹配对象)
:替换,将匹配成功的对象替换成新的内容
元字符
元字符修饰前面的字符
.
:通配符,每一个点代表一个任意字符
[0-9]
:中括号代表字符组,匹配数字,字符,只代表一个字符
r'^aa'
:匹配开头是否为aa,开头不是则为空
r'bb$'
:匹配结尾是否为bb,结尾不是则为空
{n(,m)}
:控制次数,n为数字,代表匹配的数量。一个数字代表次数,两个数字代表匹配的次数范围,n为0 可以省略
a*
:任意多个a,可以为0个
a+
:任意多个a,不能为0个,至少一个
a?
:0个或一个a,至多一个
[^…]
:^反向字符类,取反(除此之外)
\b
: 单词边界(不是元字符),可以只加一边
贪婪非贪婪模式
贪婪模式尽量多的满足条件
非贪婪模式尽量少的满足条件
?
修饰元字符,转为非贪婪模式
eg:对于abbb
这个字符串
ab*
为贪婪模式,匹配结果为abbb
ab*?
为非贪婪模式,匹配结果为a
预定义字符类
当正则表达式里面有括号时,只提取括号里面的内容