python 基础 8.5 re 的match对象
#/usr/bin/python
#coding=utf-8
#@Time :2017/11/18 21:49
#@Auther :liuzhenchuan
#@File :match对象.py
import re
prog = re.compile(r'(?P<tagname>abc)(.*)(?P=tagname)')
result1 = prog.match('abclfjlad234sjldabc')
print(result1)
print(result1.groups())
print result1.group('tagname')
print(result1.group(2))
print(result1.groupdict())
>>>
<_sre.SRE_Match object at 0x027B6CC8>
('abc', 'lfjlad234sjld')
abc
lfjlad234sjld
{'tagname': 'abc'}
解释:
- 我们可以看到result1已经由字符串转换成了一个正则对象。
- resule.groups()可以查看出来所有匹配到的数据,每个()是一个元素,最终返回一个tuple
- group()既可以通过下标(从1开始)的方式访问,也可以通过分组名进行访问。
- groupdict只能显示有分组名的数据
group([group1, …]):
获得一个或多个分组截获的字符串;指定多个参数时将以元组形式返回。group1可以使用编号也可以使用别名;编号0代表整个匹配的子串;不填写参数时,返回group(0);没有截获字符串的组返回None;截获了多次的组返回最后一次截获的子串。
groups([default]):
以元组形式返回全部分组截获的字符串。相当于调用group(1,2,…last)。default表示没有截获字符串的组以这个值替代,默认为None。
groupdict([default]):
返回以有别名的组的别名为键、以该组截获的子串为值的字典,没有别名的组不包含在内。default含义同上。