属性和方法 | 说 明 |
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")
print 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/