Python re模块(正则表达式)

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

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

常用正则表达式符号:

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

原文地址:https://www.cnblogs.com/dbf-/p/10592261.html