re模块
-
re.findall(正则, 字符串)
返回包含所有符合要求的字符串的列表 -
re.finditer(正则, 字符串)
返回包含所有符合要求字符串的迭代器(效率比列表高) -
re.search(正则, 字符串)
返回第一个符合要求的字符串的match结果,拿数据需要.group() -
re.match(正则, 字符串)
表示从头开始匹配,相当于加了^ -
XXX = re.compile(正则)
预加载,提前写好正则,提高些些许效率
用法:AAA = XXX.findall(内容) -
(?P<分组名字>正则)
表示将检索到的内容放到分组里,通过组直接获得内容
正则表达式
正则语法:通过元字符进行排列组合来匹配字符串
元字符:具有固定意义的特殊符号
常用元字符
1:. 匹配除换行符以外的所有字符
2:\w 匹配字母或数字或下划线
3:\s 匹配任意的空白符
4:\d 匹配数字
5:\n 匹配一个换行符
6:\t 匹配一个制表符
7:^ 匹配字符串的开头
8:$ 匹配字符串的结尾
9:\W 匹配非字母或数字或下划线
10:\S 匹配非空白
11:\D 匹配非数字
12:a|b 匹配a或b
13:() 匹配括号内的表达式,也表示一个组
14:[] 匹配字符组内的字符
15:[^...] 匹配除了字符组内的字符
在线测试正则:https://tool.oschina.net/regex/