re模块方法
res = re.match(regex, str) 匹配 返回正则对象
res.group() 获取
re.search(regex,str) 查询返会值 找到第一个就返回
re.findall(regex,str) 查询 返回 所有符合的 以列表形式返回
re.sub(regex,newstr/func,str) 将符合的一个找到替换返回 原来的str 一种直接该值一种以参数形式传入
re.split(regex,str) 切割
表示字符
. 一个任意字符除\n
【】 匹配里面的字符
\w 所有单词字符 a-z A-Z 0-9 _下划线
\W 非单词字符
\s 所有空白占位符
\S 非空白占位符
\d 数字 0-9
\D 非数字
原始字符串
由于转义字符串的原因 匹配时会有错
字符串前面加r 可以变为原始字符串
表示数量
*0个或无限个 即可有可无
- 至少一个 或者无限
? 一个或没有 0 or 1}
{m,n} m<= nums<=n
边界
^ 以什么开头放在要匹配的字符串最前面
$ 以什么结尾放在要匹配的字符串最后面
匹配分组
| 或 左右两边只要有一个匹配
()分组
\num num代表组号引用组号匹配的内容
(?P<name>) 分组命名
(?P=name)引用分组名为name的
贪婪: 尽可能匹配多的
非贪婪:尽可能匹配少的
贪婪变非贪婪 通过?号转换