Python re模块(正则表达式)

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

re 模块使 Python 语言拥有全部的正则表达式功能。

常用正则表达式符号:

 

‘.’ 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行
‘^’ 匹配字符串的开头
‘$’ 匹配字符串的末尾
‘*’ 匹配0个或多个的表达式
‘+’ 匹配1个或多个的表达式
‘?’ 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式
‘{m}’ 匹配m个前面表达式
‘{m,}’ 精确匹配m个前面表达式,"o{1,}"等价于"o+"、"o{0,}"则等价于"o*"。
‘{n, m}’ 匹配 n 到 m 次由前面的正则表达式定义的片段,贪婪方式
‘|’ 匹配|左或|右的字符
‘(…)’ 匹配括号内的表达式,也表示一个组
   
‘\A’ 匹配字符串开始
‘\Z’ 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串。
‘\d’ 匹配任意数字,等价于 [0-9]
‘\D’ 匹配任意非数字
‘\w’ 匹配数字字母下划线
‘\W’ 匹配非数字字母下划线
‘s’ 匹配任意空白字符,等价于 [\t\n\r\f]。

常用的匹配语法:

re.match 只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None
re.search 匹配整个字符串,直到找到一个匹配
re.findall 把所有匹配到的字符放到以列表中的元素返回
re.split 以匹配到的字符当做列表分隔符
re.sub 匹配字符并替换


re.match 和 re.search 可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式

m.group(num) 返回第num组括号匹配的字符。而m.group() == m.group(0) == 所有匹配的字符

m.groups() 返回所有括号匹配的字符,以tuple格式。 m.groups() == (m.group(0), m.group(1), ...)

posted on 2019-03-25 10:21  doubtful  阅读(346)  评论(0编辑  收藏  举报

导航