__author__ = 'paul' import re a = "123abc456" print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group() #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 print re.search("([0-9]*)([a-z]*)([0-9]*)",a).groups() #('123', 'abc', '456')
上面正则表达式中的三组括号把匹配结果分成三组
- group() 同group(0)就是匹配正则表达式整体结果
- group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分。
- groups()是把所有匹配出来的分组加入元组中
__author__ = 'paul' import re a = "123abc456" print re.search("[0-9]*[a-z]*[0-9]*",a).group() #123abc456 print re.search("[0-9]*[a-z]*[0-9]*",a).group(0) #123abc456 print re.search("[0-9]*[a-z]*[0-9]*",a).groups() #()
当然正则表达式中没有括号分组,group(1)和groups肯定不对了。