python中group()与group(1)区别
时间: 2024-01-28 22:05:11 浏览: 13
详解python中groupby函数通俗易懂
3星 · 编辑精心推荐
在Python中,`group()`和`group(n)`都是正则表达式模块(re模块)中`Match`对象的方法,用于返回匹配到的字符串或匹配到的子组字符串,不同的是`group()`返回整个匹配到的字符串,而`group(n)`返回第n个子组匹配到的字符串。
例如,对于下面的示例代码:
``` python
import re
pattern = re.compile(r'(\d{3})-(\d{3}-\d{4})')
match = pattern.search('My phone number is 123-456-7890')
print(match.group()) # 输出 '123-456-7890'
print(match.group(0)) # 输出 '123-456-7890'
print(match.group(1)) # 输出 '123'
print(match.group(2)) # 输出 '456-7890'
```
在这个示例中,正则表达式`(\d{3})-(\d{3}-\d{4})`匹配了一个电话号码,其中第一个子组`(\d{3})`匹配了前三个数字,第二个子组`(\d{3}-\d{4})`匹配了后七个数字,即中划线后面的部分。
`match.group()`和`match.group(0)`都返回了整个匹配到的电话号码`'123-456-7890'`;`match.group(1)`返回了第一个子组匹配到的前三个数字`'123'`;`match.group(2)`返回了第二个子组匹配到的后七个数字`'456-7890'`。
因此,`group()`和`group(n)`的区别在于,`group()`返回整个匹配到的字符串,而`group(n)`返回第n个子组匹配到的字符串。
阅读全文