python正则表达式中group使用方法

2023-02-28 00:00:00 python 正则表达式 使用方法

在 Python 中使用正则表达式,可以使用 re 模块的 search、findall 和 finditer 函数来匹配字符串。在匹配过程中,使用圆括号 () 可以创建一个捕获组,将匹配到的子字符串提取出来。

使用 group 方法可以获取捕获组的匹配结果。以下是一个使用正则表达式和捕获组的示例代码:

import re

text = "my email is john@example.com"
pattern = r"(\w+)@(\w+)\.com"
match = re.search(pattern, text)
if match:
    username = match.group(1)
    domain = match.group(2)
    print("username: ", username)
    print("domain: ", domain)

上面的代码中,(\w+) 匹配一个或多个字母、数字或下划线,@ 匹配一个 @ 符号,(\w+).com 匹配一个或多个字母、数字或下划线,后面跟着一个 .com。使用 search 函数查找字符串 text 中的匹配,使用 group 方法获取捕获组的结果。

上述代码将会输出以下内容:

username:  john
domain:  example

其中,john 和 example 分别是用户名和域名的结果。如果有多个捕获组,可以使用 group(n) 来获取第 n 个捕获组的匹配结果,其中 n 从 1 开始计数。如果想获取所有的捕获组的匹配结果,可以使用 groups 方法,返回一个元组。如果正则表达式中没有使用圆括号创建捕获组,可以使用 group() 或 group(0) 来获取整个匹配结果。

相关文章