python学习笔记八——正则表达式
1.元字符
[]-常用来指定一个字符集:[abc];[a-z]
-元字符在字符集中不起作用:[akm$]
-补集匹配不在区间范围内的字符:[^5]
^-匹配行首
$-匹配行尾
\-后可加不同字符以表示不同意义,也可用于取消所有元字符
\d 匹配任何十进制数,相当于[0-9]
\D 匹配任何非数字字符,相当于[^0-9]
\s 匹配任何空白字符,相当于[\t\n\r\f\v]
\S 匹配任何非空白字符
\w 匹配任何字母数字字符
\W 匹配任何非字母数字字符
*-匹配前一个字符零次或多次
+-至少匹配前一个字符一次
?-匹配前一个字符零次或一次(加在重复的后面可以实现最小匹配)
{m,n}
2.执行匹配
match():决定re是否在字符串刚开始的位置匹配,返回一个match对象或None
search():扫描字符串,找到这个re匹配的位置,返回一个match对象或None
findall():找到re匹配的所有子串,并把他们作为一个列表fanhui
finditer():找到re匹配的所有子串,并把他们作为一个迭代器返回
Match对象实例方法
group()-返回被re匹配的字符串
strat()-返回匹配开始的位置
end()-返回匹配结束的位置
span()-返回一个元组包含匹配(开始,结束)的位置
模块级函数-re模块也提供了顶级函数调用如match(),search(),sub(),subn(),split(),findall()等
3.编译标志
S-使.匹配包括换行在内的所有字符
I-使匹配对大小写不敏感
L-做本地化识别
M-多行匹配
X-能够使用REs的verbose状态,使之被组织的更清晰易懂
4.分组-()
可以让他只返回分组的数据