正则表达式之分组(转)
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)肯定不对了。
举例如下: