python正则中的group()

Posted 匡子语

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python正则中的group()相关的知识,希望对你有一定的参考价值。

来源:http://www.cnblogs.com/kaituorensheng/archive/2012/08/20/2648209.html

 

正则表达式中,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
复制代码

 

究其因

1. 正则表达式中的三组括号把匹配结果分成三组

  •  group() 同group(0)就是匹配正则表达式整体结果
  •  group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分。

2. 没有匹配成功的,re.search()返回None

3. 当然郑则表达式中没有括号,group(1)肯定不对了。

以上是关于python正则中的group()的主要内容,如果未能解决你的问题,请参考以下文章

python正则表达式re 中m.group和m.groups的解释

二十正则表达式中的“r”含义

python正则表达式02--findall()和search()方法区别,group()方法

python 正则表达式 groups和group有啥区别

python --- 正则表达式

Python 正则表达式 利用括号分组