python 基础 8.5 re 的match对象

Posted 刘振川的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘}
 
解释:
  1. 我们可以看到result1已经由字符串转换成了一个正则对象。
  2. resule.groups()可以查看出来所有匹配到的数据,每个()是一个元素,最终返回一个tuple
  3. group()既可以通过下标(从1开始)的方式访问,也可以通过分组名进行访问。
  4. groupdict只能显示有分组名的数据
 
 
group([group1, …]): 
获得一个或多个分组截获的字符串;指定多个参数时将以元组形式返回。group1可以使用编号也可以使用别名;编号0代表整个匹配的子串;不填写参数时,返回group(0);没有截获字符串的组返回None;截获了多次的组返回最后一次截获的子串。
groups([default]): 
以元组形式返回全部分组截获的字符串。相当于调用group(1,2,…last)default表示没有截获字符串的组以这个值替代,默认为None
groupdict([default]): 
返回以有别名的组的别名为键、以该组截获的子串为值的字典,没有别名的组不包含在内。default含义同上。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

以上是关于python 基础 8.5 re 的match对象的主要内容,如果未能解决你的问题,请参考以下文章

Python基础day-13[模块:re未完]

Python基础知识进阶之正则表达式

python开发模块基础:re正则

python re模块

python-正则基础

python正则表达式--flag修饰符match对象属性