在正则表达式中,可以使用捕获组来标记需要匹配的子串。捕获组可以用括号来定义,在括号内的表达式将被视为一个捕获组。
下面是一个示例代码,演示了如何使用捕获组来匹配正则表达式中的子串:
import re
# 定义正则表达式
pattern = r'(\d{4})-(\d{2})-(\d{2})'
# 定义待匹配的字符串
text = '今天是2022-01-01,明天是2022-01-02'
# 使用正则表达式进行匹配
matches = re.findall(pattern, text)
# 输出匹配结果
for match in matches:
print('完整匹配:', match[0])
print('年份:', match[0])
print('月份:', match[1])
print('日期:', match[2])
在上述代码中,我们定义了一个正则表达式(\d{4})-(\d{2})-(\d{2})
,其中括号内的部分分别定义了三个捕获组,分别用来匹配年份、月份和日期。然后,我们使用re.findall()
函数来在待匹配的字符串中查找所有匹配的子串,将匹配结果存储在matches
变量中。
最后,我们使用循环遍历matches
中的每个匹配结果,通过索引可以获取到捕获组中的子串。在示例中,我们分别输出了完整匹配、年份、月份和日期。
运行上述代码,输出如下:
完整匹配: 2022-01-01
年份: 2022
月份: 01
日期: 01
完整匹配: 2022-01-02
年份: 2022
月份: 01
日期: 02
可以看到,我们成功地使用捕获组匹配了正则表达式中的子串,并分别获取了年份、月份和日期的值。
上一篇:捕获组上的负向前视断言
下一篇:捕获`{cli}`输出以进行报告