首先 python为了书写上的方便,可以使用raw string,这些禁止字符串转义:
r"\n" 就是两个字符而不是一个字符换行
\d 数字
\D 非数字
\s 所有空格字符 [ \t\n\r\f\v]
\S 匹配所有非空格字符 [^ \t\n\r\f\v]
\w 匹配所有文字 [a-zA-Z0-9_]
\W
a{1, 3}b 会匹配ab aab aaab
{0,} * 是有0个或多个的意思 可用星号简写
{1, } + 是一个或多个的意思 可用加号简写
{0, 1} ? 是0个或1个的意思 可用问号简写
使用
编译
import re
p = re.compile('abc')
compile时可以传递参数 例如re.IGNORECASE
匹配
如果匹配成功返回的是match object,这个match object包含四个方法:
group 匹配到的子字符串
start end span 开始、结束位置 和 两者组成的tuple
match
仅从开头处开始匹配
search
从任意位置开始匹配
findall
finditer
直接使用
re.match('pattern', 'searchstring')
网友评论