re模块使用
一、re.findall(pattern,string,flags=0)
功能:根据正则表达式匹配目标字符串内容
参数:pattern 正则表达式
string 目标字符串
flags 功能标志位,扩展正则表达式的匹配
返回值:匹配到的内容列表,如果正则表达式有子组,则只能获取到子组对应的内容
二、regex.findall(string,pos,endpos)
功能:根据正则表达式陪陪目标字符串内容
参数:string 目标字符串
pos 截取目标字符串的开始匹配位置
endpos 截取目标字符串的结束匹配位置
返回值:匹配到的内容列表,如果正则表达式有子组,则只能获取到子组对应的内容
三、re.split(pattern,string,flags=0)
功能:使用正则表达式匹配内容,切割目标字符串
参数:pattern 正则表达式
string 目标字符串
flags 功能标志位,扩展正则表达式的匹配
返回值:切割后的内容列表
四、re.sub(pattern,replace,string,max,flags=0)
功能:使用一个字符串替换正则表达式匹配到的内容
参数:pattern 正则表达式
replace 替换的字符串
string 目标字符串
max 最多替换几处,默认替换全部
flags 功能标志位,扩展正则表达式的匹配
返回值:替换后的字符串
五、re.subn(pattern,replace,string,max,flags=0)
功能:使用一个字符串替换正则表达式匹配到的内容
参数:pattern 正则表达式
replace 替换的字符串
string 目标字符串
max 最多替换几处,默认替换全部
flags 功能标志位,扩展正则表达式的匹配
返回值:替换后的字符串和替换了几处
六、re.finditer(pattern,string,flags=0)
功能:根据正则表达式匹配目标字符串内容
参数:pattern 正则表达式
string 目标字符串
flags 功能标志位 扩展正则表达式的匹配
返回值:匹配结果的迭代器
七、re.fullmatch(pattern,string,flags=0)
功能:完全匹配某个目标字符串
参数:pattern 正则
string 目标字符串
返回值:匹配内容match object
八、re.match(pattern,string,flags=0)
功能:匹配某个目标字符串开始位置
参数:pattern 正则
string 目标字符串
返回值:匹配内容match object
九、re.seatch(pattern,string,flags=0)
功能:匹配目标字符串第一个符合内容
参数:pattern 正则
string 目标字符串
返回值:匹配内容match object
compile对象属性
- flags : flags值
- pattern : 正则表达式
- groups : 子组数量
- groupindex : 捕获组名与组序号的字典
match对象的属性方法
- 属性变量
- pos 匹配的目标字符串开始位置
- endpos 匹配的目标字符串结束位置
- re 正则表达式
- string 目标字符串
- lastgroup 最后一组的名称
- lastindex 最后一组的序号
- 属性方法
-
span() 获取匹配内容的起止位置
-
start() 获取匹配内容的开始位置
-
end() 获取匹配内容的结束位置
-
groupdict() 获取捕获组字典,组名为键,对应内容为值
-
groups() 获取子组对应内容
- group(n = 0)
功能:获取match对象匹配内容
参数:默认为0表示获取整个match对象内容,如果是序列号或者组名则表示获取对应子组内容
返回值:匹配字符串

flags参数扩展
1.使用函数:re模块调用的匹配函数。如:re.compile,re.findall,re.search...
2.作用:扩展丰富正则表达式的匹配功能
3.常用flag
- A == ASCII 元字符只能匹配ascii码
- I == IGNORECASE 匹配忽略字母大小写
- S == DOTALL 使 . 可以匹配换行
- M == MULTILINE 使 ^ $可以匹配每一行的开头结尾位置
- X == VERBOSE 为正则添加注释
4.使用多个flag
方法:使用按位或连接 例如:flags = re.I | re.A