以下是一个捕获多个子组的实例,使用正则表达式和Python的re模块:
import re
# 定义一个包含多个子组的正则表达式模式
pattern = r'(\w+)\s+(\d+)\s+(\w+)'
# 定义一个待匹配的字符串
text = 'John 25 Male, Mary 30 Female, Alex 35 Male'
# 使用findall函数进行匹配,返回所有匹配结果的列表
matches = re.findall(pattern, text)
# 遍历匹配结果的列表
for match in matches:
# 输出子组的内容
for group in match:
print(group)
print('---')
运行以上代码,输出如下:
John
25
Male
---
Mary
30
Female
---
Alex
35
Male
---
在这个例子中,我们定义了一个包含三个子组的正则表达式模式(\w+)\s+(\d+)\s+(\w+)
,它匹配了一段字符串中的姓名、年龄和性别。然后使用re.findall
函数进行匹配,返回所有匹配结果的列表。接着遍历匹配结果的列表,并通过循环输出每个子组的内容。