匹配对象的group()和groups()方法

当在处理正则表达式的时候,除了正则表达式对象之外,还有另一个对象类型:匹配对象即是成功调用match()或者search()所返回的对象。

匹配对象有两个主要方法:group() 和 groups() 。

group():要么返回整个匹配对象,要么根据要求返回特定子组;如果group()没有子组要求,返回整个匹配。

实例:

#Author:Dylan
import re

s = "123dyalnABC"
print(re.search("([0-9]*)([a-z]*)([A-Z]*)",s).group())  #返回123dyalnABC
print(re.search("([0-9]*)([a-z]*)([A-Z]*)",s).group(0)) #返回123dyalnABC
print(re.search("([0-9]*)([a-z]*)([A-Z]*)",s).group(1)) #返回123
print(re.search("([0-9]*)([a-z]*)([A-Z]*)",s).group(2)) #返回dylan
print(re.search("([0-9]*)([a-z]*)([A-Z]*)",s).group(3)) #返回ABC

 由此可以看出,group()是按照特定子组数字---小写字母---大写字母来获取字符串的,

对应关系是group(1)对应正则表达式对象的特定子组1,group(2)对应特定子组2,group(3)对应特定子组3......

一般地,s.group(N)返回正则表达式对象的第N组特定子组。

group(0)同group()一样,对应整个正则表达式对象。

groups():以tuple格式返回所有匹配子组。

实例:

import re

s = "123dyalnABC"
print(re.search("([0-9]*)([a-z]*)([A-Z]*)",s).groups())
#返回('123', 'dyaln', 'ABC')

 

posted @ 2019-03-23 15:50  Dylan123  阅读(1037)  评论(0编辑  收藏  举报