第一部分
Python支持的正则表达式元字符和语法:
. 除\n外的所有字符
\d 数字,等同于[0-9]
\D 非数字,等同于[^0-9]
\s 空白字符[\t\n\r\f\v]
\S 非空白字符[^\t\n\r\f\v]
\w 字母数字字符[a-zA-Z0-9]
\W 非字母数字[^a-zA-Z0-9]
批量备选 | yes|no eg:若想匹配center或centre,应加(), cent(er|re)
量词
"?" 0或1次 " * " 0或多次 "+" 1或多次
特定量词
范围为n-m n次 至少n次 {,m} 至多m次
贪婪与非贪婪 在量词后面加?表示非贪婪
边界匹配 ^行首 $行尾
\b单词边界
\B非单词边界
\A匹配开头
\Z输入结尾
第二部分
如果需要大量重复使用,先编译
也可以跳过编译环节直接re.findall("…")
findall 查找所有非重叠匹配项,返回list
match 匹配,仅从起始位置,返回MatchObject
search 任意位置搜索,返回MatchObject
finditer 查找所有匹配项,返回包括MatchObject元素的迭代器
group编组
第三部分
re.I 忽略大小写
re.M 匹配多行
re.S "."匹配所有字符,包括\n
re.purge() 清除缓存,编译的正则模式会被清除
逃逸字符 re.escape()
推荐超级详细的正则学习链接 http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
关注即可获取作者精选python学习资料,pycharm注册码。
领取专属 10元无门槛券
私享最新 技术干货