在 Python 中使用 re 模块进行正则表达式匹配时,可以使用 group() 方法获取匹配到的结果,并使用括号来指定捕获组,如下所示:

import re

pattern = r'(\d{3})-(\d{4})'
text = 'My phone number is 123-4567.'

match = re.search(pattern, text)
if match:
    print(match.group(0))  # 匹配整个模式,输出123-4567
    print(match.group(1))  # 匹配第一个括号内的子模式,输出123
    print(match.group(2))  # 匹配第二个括号内的子模式,输出4567

在上面的例子中,我们使用了一个正则表达式模式来匹配一个电话号码,其中使用了两个括号来指定两个捕获组,分别匹配区号和电话号码。然后使用 match.group() 方法来获取匹配到的结果,group(0) 返回整个匹配结果,group(1) 返回第一个捕获组的结果,group(2) 返回第二个捕获组的结果。

可以将捕获组的结果用于替换、切割等操作,例如:

import re

pattern = r'(\d{3})-(\d{4})'
text = 'My phone number is 123-4567.'

result = re.sub(pattern, r'(\1) \2', text)
print(result)  # 输出:My phone number is (123) 4567.

在上面的例子中,我们使用了 re.sub() 方法来将匹配到的电话号码格式化为 (区号) 电话号码的形式,其中 \1 表示第一个捕获组的结果,\2 表示第二个捕获组的结果。

Python 正则表达式:如何使用捕获组

原文地址: https://www.cveoy.top/t/topic/m4lN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录