正则表达式是一种小巧的独立语言,用于字符串的匹配
一、元字符
1、. 匹配除换行符外的任意字符
2、^ 匹配字符串开头
3、$ 匹配字符串末尾
4、* 匹配前一字符n次
5、+ 匹配前一字符1-n次
6、? 匹配前一字符0-1次
7、[ ] [34]匹配3或4,[^34]匹配除3以及4以外的字符,[a-z]匹配a至z的字符 ^ - \在[ ]内会被转义
8、{ } a{3,4}匹配3and4次a,{3,}匹配3到无穷次
9、| a|b匹配a或者b
10、() 匹配一个组
二、转义字符
\d 匹配数字
\D 匹配非数字
\w 匹配字母数字及下划线 [a-zA-Z0-9_]
\W 匹配非非字幕数字下划线
\s 匹配空白字符[\n \t \r \f ]
\S 匹配非空白字符[\n \t \r \f ]
\b 匹配特殊字符边界 a\b a dddad 匹配到第一个a
三、修饰符
re.I 对大小写不敏感
re.L 做本地化识别匹配
re.M 多行匹配 影响^以及$
re.S 使 . 匹配包括换行在内的所有字符
re.U 根据Unicode字符集解析字符
re.X 该标志位。。。。
四、python内re模块常用方法
1、match 只匹配开头
2、search 匹配一次
3、findall 匹配所有
4、complie 封装正则表达式对象
5、split 匹配切割
6、sub 匹配替换 (pattern,replace,string,count)
给匹配组命名固定格式
(?P<name>\w+?)表达式前添加r代表告诉python解释器不用转义