【python】正则表达式-group和group的区别

__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肯定不对了。

上一篇:洛谷 P1002 过河卒 【棋盘dp】


下一篇:Android View事件分发-从源码分析