Python ---- re模块 处理正则表达式
re.findall(pattern,string)
功能 : 使用正则表达式匹配字符串
参数 : pattern 正则表达式
string 目标字符串
返回值 : 一个列表 匹配到的所有内容
元字符
1、元字符 abc -->匹配相应的普通字符
ex:In [6]: re.findall("abc","abcdefghabcdhig")
Out[6]: ['abc', 'abc']
2、元字符 : ab|cd ---> 匹配|两边任意一个正则表达式符合的情况
注意:| 两侧不要有没用的空格
3、元字符 : . 匹配规则: 匹配除了换行之外的任意字符
4、元字符: ^ 匹配规则: 匹配一个字符串的开始位置
5、元字符: $ 匹配规则:匹配目标字符串的结束位置
6、元字符 : * 匹配规则: 匹配前面的正则表达式重复0次或多次
7、元字符 : + 匹配规则: 匹配前面的正则表达式重复1次或多次
8、元字符: ? 匹配规则: 匹配前面的正则表达式重复0次或1次
9、元字符:{n} 匹配规则 : 匹配指定的重复次数
10、元字符 : {m,n} 匹配规则 : 匹配前面的正则表达式重复 m次 到 n次
11、元字符: [ ] 匹配规则 : 匹配括号范围内的任意一个字符
12、元字符: [^...] 匹配规则 : 匹配除指定字符集之外的任意字符
13、 \d 匹配任意数字字符 \D 匹配任意非数字字符
14、 \w 匹配任意一个普通字符 \W匹配任意非普通字符
15、\s 匹配任意空字符 \S 匹配任意非空字符
16、\A匹配开始位置 \Z匹配结束位置 绝对匹配 \Aabc\Z ----> abc (且字符串只是abc)
17、\b 匹配单词的边界 \B匹配非单词的边界
元字符总结
匹配单个字符:a . \d \D \w \W \s \S [...] [^...]
匹配重复性 : * + ? {N} {m,n}
匹配某个位置 : ^ $ \A \Z \b \B
其他 : | () \
re模块
obj = compile(pattern,flags = 0)
功能: 获取正则表达式对象
参数: pattern : 正则表达式
flags: 功能标志位,提供更丰富的匹配
返回值 : 正则表达式对象
re模块和compile对象均有的函数
obj.findall(string,pos,endpos)
功能 : 通过正则表达式匹配字符串
参数 : string 目标字符串
pos 目标字符串的匹配开始位置
endpos 目标字符串的结束位置
返回值 : 匹配到的所有内容以列表返回
* 如果正则表达式有子组则只显示子组匹配内容
obj.split(string)
功能 : 按照正则表达式切割目标字符串
参数 : 目标字符串
返回值 : 切割后的内容
obj.sub(replaceStr,string,max)
功能: 替换正则表达式匹配到的内容
参数: replaceStr 要替换的内容
string 目标字符串
max 最多替换几处
返回值 : 返回替换后的字符串
subn(repl,string,count)
功能: 替换正则表达式匹配到的内容
参数: repl 要替换的内容
string 目标字符串
count 最多替换几处
返回值 : 返回替换后的字符串和实际替换的个数
re.finditer(pattern,string)
功能 : 使用正则表达式匹配目标内容
参数 : 目标字符串
返回值 : 迭代对象 迭代的每个内容为一个match对象
re.match(pattern,string)
功能 : 匹配一个字符串的开头
参数 : 目标字符串
返回值 : 如果匹配到返回 match obj
没有匹配到返回 None
re.search(pattern,string)
功能 : 匹配一个字符串
参数 : 目标字符串
返回值 : 如果匹配到返回 match obj
没有匹配到返回 None
* match 只能匹配字符串的开头位置,search可以匹配任意位置,但是也只能匹配一处
* 通常match对象调用其属性时往往需要try异常处理
fullmatch()
要求目标字符串完全匹配
compile 对象特有属性(re模块没有)
flags : 标志位
pattern : 正则表达式
groupindex : 捕获组形成的字典
groups : 多少个子组
match 对象属性方法
print(match_obj.pos) #目标字符串开头位置
print(match_obj.endpos) # 目标字符串结束位置
print(match_obj.re) # 正则表达式对象
print(match_obj.string) # 目标字符串
print(match_obj.lastgroup) # 最后一组的名字
print(match_obj.lastindex) # 最后一组是第几组
span() 匹配到内容的起止位置
start() 匹配到内容的开始位置
end() 匹配到内容的结束位置
group(n)
功能 : 获取match 对象匹配的内容
参数 : 默认为0 表示获取正则整体的匹配内容
如果传入大于0的正数则表示获取对应子组匹配内容
返回值:返回匹配到的内容
groups()
功能 : 得到所有子组匹配的内容
groupdict()
功能 :得到所有捕获组匹配的内容
标签: 匹配
②文章观点仅代表原作者本人不代表本站立场,并不完全代表本站赞同其观点和对其真实性负责。
③文章版权归原作者所有,部分转载文章仅为传播更多信息、受益服务用户之目的,如信息标记有误,请联系站长修正。
④本站一律禁止以任何方式发布或转载任何违法违规的相关信息,如发现本站上有涉嫌侵权/违规及任何不妥的内容,请第一时间反馈。发送邮件到 88667178@qq.com,经核实立即修正或删除。