python中group方法以及与groups的区别

python中的group方法

group()在正则表达式中用于获取分段截获的字符串,解释如下代码(代码来自网络):

import re
a = "123abc456"
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0)    #123abc456,返回整体
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1)    #123
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2)    #abc
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(3)    #456

可以看出,正则表达式按照数字-字母-数字的顺序来获取相应字符串,那么分别就是“数字(group(1))--字母(group(2))--数字(group(3))”的对应关系,

其中,group(0)和group()效果相同,均为获取取得的字符串整体。



group和groups是两个不同的函数。

一般,m.group(N) 返回第N组括号匹配的字符。
而m.group() == m.group(0) == 所有匹配的字符,与括号无关,这个是API规定的。

m.groups() 返回所有括号匹配的字符,以tuple格式。
m.groups() == (m.group(0), m.group(1), ...)

你可能感兴趣的:(小点,python,re,group,groups)