Python group()小结

2023-01-31 03:01:41 python 小结 Group

今天看到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).groups()   #['123','abc','456']
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

一开始我理解为group(n)(n=1,2,3)会根据括号里的正则表达式进行匹配,每次都是从字符串a的起始位置开始,会自动匹配到‘123’,‘abc’,‘123’。但是结果让我感到不对,后来想了想,应该是search()里的三个正则表达式是有顺序的,只能依次执行,不是每次都从开始执行。这样就能解释通过了。

相关文章