正则表达式之分组(转)

python group()

本文转自文章:https://blog.csdn.net/qq_20412595/article/details/82633501

 

正则表达式中,group()用来提出分组截获的字符串,()用来分组

 

1 import re
2 a = "123abc456"
3 print(re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0))   #123abc456,返回整体
4 print(re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1))  #123
5 print(re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2))   #abc
6 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)肯定不对了。

 

举例如下:

 

posted @ 2020-06-28 10:16  anna1210  阅读(690)  评论(0编辑  收藏  举报