python group 用法
- 格式:docx
- 大小:36.78 KB
- 文档页数:4
python group 用法
在Python中,可以使用`group()`方法来匹配和提取正则表达式中的分组。该方法返回由所有匹配的分组组成的元组。以下是关于python `group()`方法的使用介绍和示例:
1. 语法:
```
group([group1, ...])
```
其中,group1代表第一个要获取的分组的索引,以此类推。如果没有提供任何参数,则默认返回整个匹配的子字符串。
2. 示例1 - 获取整个匹配的子字符串:
```
import re
pattern = r"ab"
text = "abab"
match = re.search(pattern, text)
print(match.group()) # 输出: ab
```
3. 示例2 - 获取特定分组的子字符串:
```
import re
pattern = r"(a)(c)(e)"
text = "abcdef"
match = re.search(pattern, text)
print(match.group(2)) # 输出: c
```
4. 示例3 - 获取所有分组的子字符串:
```
import re
pattern = r"(a)(c)(e)"
text = "abcdef"
match = re.search(pattern, text)
print(match.group()) # 输出: ace
print(match.groups()) # 输出: ('a', 'c', 'e')
```
5. 示例4 - 使用多个分组:
```
import re
pattern = r"(\w+),(\w+)"
text = "John,Doe"
match = re.search(pattern, text)
print(match.group(1)) # 输出: John
print(match.group(2)) # 输出: Doe
print(match.groups()) # 输出: ('John', 'Doe')
```
6. 示例5 - 在匹配和提取时使用命名分组:
```
import re
pattern = r"(?P
text = "John,Doe"
match = re.search(pattern, text)
print(match.group('first')) # 输出: John
print(match.group('last')) # 输出: Doe
```
7. 示例6 - 在多次匹配时使用分组:
```
import re
pattern = r"(\d+)-(\d+)"
text = "1-2 3-4 5-6"
matches = re.findall(pattern, text)
for match in matches:
print(match[0]) # 输出: 1, 3, 5
print(match[1]) # 输出: 2, 4, 6
```
8. 示例7 - 使用分组来替换字符串中的部分内容:
```
import re
pattern = r"(\d+)-(\d+)"
text = "1-2 3-4 5-6"
replaced_text = re.sub(pattern, r"\2-\1", text)
print(replaced_text) # 输出: 2-1 4-3 6-5
```
总结:`group()`方法用于匹配和提取正则表达式中的分组,在合适的场景下可以方便地获取子字符串或进行替换操作。通过指定分组的索引或名称,我们可以选择性地获取特定分组或全部分组的字符串。