一、常量
常量 | 说明 |
re.M re.MULTLINE | 多行模式 |
re.S re.DOTALL | 单行模式 |
re.I re.IGNORECASE | 忽略大小写 |
re.X re.VERBOSE | 忽略表达式的空白字符 |
可以使用|开启多个选项
二、方法
2.1 编译 compile
re.compile(pattern,[,falgs])
pattern是正则表达式的字符串
设定falgs,可选择匹配模式,如单行、多行、忽略大小写等模式,返回正则表达式对象regex
2.2单次匹配
2.2.1match方法
re.match(pattern,string,flags=0)
regex.match(string[,pos[,endpos]])
match匹配从字符串的开头匹配,regex对象match方法可以重新设定开始位置和结束位置,返回match对象
2.2.2search方法
re.search(pattern,string,flags=0)
regex.search(string[,pos[,endpos]])
search从开头搜索直到第一个匹配,regex对象search方法可以重新设定开始位置和结束位置,返回match对象
2.2.3fullmatch
re.fullmatch(parttern,string,flags=0)
regex.fullmatch(string[,pos[,endpos]])
搜索整个字符串,要完全匹配才行。
2.3全文搜索
2.3.1findall
findall(patterm,string,flags=0)
返回一个列表
2.3.2finditer
返回一个迭代器
2.4匹配替换
2.4.1sub和subn
sub(repl,string[,count])使用参数repl替换string中的每一个匹配的子串,然后返回替换后的字符串
subn(repl,string[,count])使用参数repl替换string中的每一个匹配的子串,然后返回替换后的字符串和替换的次数
2.5分割字符串 spilt
2.4 分组group
search函数返回match对象,
match返回match对象,
findall返回列表,
finditer返回一个个match对象。
小括号pattern捕获的数据被放到了组group中,如果pattern使用分组,如果有匹配的结果,会放在match对象中 。
1使用group(N)方式返回对应分组,1到N是对应的分组,0返回整个匹配的字符串,N不写缺省值为0
2如果使用了命名分组可以使用group(‘name’)的方式取分组
3使用groups返回所有分组
使用groupdict()放回所有命名的分组