【Python】基础部分 -- 常用模块 -- re 正则
1. re 正则
1) 匹配语法
re.match(pattern ,string) 从头开始匹配,一匹配不到就跳过
re.search(pattern ,string) 匹配包含,匹配到一次就返回
re.findall(pattern ,string) 把所有匹配到的字符放到列表中并返回,返回所有匹配到的结果
re.split(pattern ,string) 以匹配到的字符当作列表分隔符
re.sub(pattern,new ,string) 匹配字符并替换
re.fullmatch(pattern,string,flags=0) 全部匹配
re.compile(pattern,flags=0) 生成一个规则对象pattern, 加速规则匹配
2) 常用表达式规则
'.' 默认匹配\n之外的任意一个字符
'^' 匹配字符开头等于 .match
'$' 匹配字符结尾
'*' 匹配*号前的字符0次或多次
'+' 匹配前一个字符1次或多次
'?' 匹配前一个字符1次或0次
'{m}' 匹配前一个字符m次
'{n,m}' 匹配前一个字符n至m次
'|' 匹配 左 或 右 的字符
'( )' 把规则分组并匹配
'\A' 只从字符开头匹配
'\Z' 匹配字符结尾,同$
'\d' 匹配数字0-9
'\D' 匹配非数字
'\w' 匹配大小写字母或数字
'\W' 匹配特殊符号(非字母或数字)
'\s' 匹配空白字符或\t \n \r
'(?P<name>... )' 分组匹配同时让字符串分割成字典
3) 特殊字符转义
‘\|’‘\.’‘\$’ ‘\*’‘\+’‘\?’‘\^’
特别:\转义则为‘\\\\’
4) flags标识符
re.l 或 re.IGNORECASE: 忽略大小写
re.M 或 re.MUTILINE:多行模式,改变'$'和'^'的行为
re.S 或 re.DOTALL: 改变‘.’的行为,支持匹配\n
re.X 或 re.VERBOSE :给表达式写注释 #后表示注释
ps: 找到最层的小括号:'\([^()]+\)'