您的位置:首页 > 其它

re模块中match对象的方法和属性

2017-11-03 11:41 309 查看
 属性和方法 说     明
 Pos 搜索的开始位置
 Endpos 搜索的结束位置
 String 搜索的字符串
 Re 当前使用的正则表达式的对象
 Lastindex 最后匹配的组索引
 Lastgroup 最后匹配的组名
 group(index=0) 某个分组的匹配结果。如果index等于0,便是匹配整个正则表达式
 groups() 所有分组的匹配结果,每个分组的结果组成一个列表返回
 Groupdict() 返回组名作为key,每个分组的匹配结果座位value的字典
 start([group]) 获取组的开始位置
 end([group]) 获取组的结束位置
 span([group]) 获取组的开始和结束位置
 expand(template) 使用组的匹配结果来替换模板template中的内容,并把替换后的字符串返回
分组解析实例:

import re
p = re.compile(r"(abc)\1")
m = p.match("abcabcabc")
print m.group(0)
print m.group(1)
print m.group()

p = re.compile(r"(?P<one>abc)(?P=one)")
m = p.search("abcabcabc")
print m.group(0)
print m.group("one")
prin
a184
t m.groupdict().keys()
print m.groupdict().values()
print m.re.pattern

第二行:定义了一个分组"(abc)",在后面使用"\1"再次调用该分组。即compile()返回1个包含2个分组的正则表达式对象p.
第三行:p.match()对字符串"abcabcabc"进行搜索,返回一个match对象m
第四行:调用match对象的group(0)方法,将匹配整个表达式,输出结果:abcabc
第五行:调用match对象的group(1)方法,返回第一次匹配成功的结果,输出结果为:abc
第六行:默认情况下,返回分组0的结果,输出结果:abcabc
第八行:给分组命令,"?P<one>"中的"one"表示分组的名称。"(?P=one)"调用分组"one",相当于"\1"
第十行:输出分组"one"的结果,输出结果:abc
第十一行:获取正则表达式中分组的名称,输出结果为:['one']
第十二行:获取正则表达式中分组的内容,输出结果为:['abc']
第十三行:获取当前使用的正则表达式,输出结果:(?P<one>abc)(?P=one)

转:http://xukaizijian.blog.163.com/blog/static/170433119201111213111562/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: