Menu
CoddyTech

捕获

Coddy Python 正则表达式 课程的第 17 课,共 28 课。

捕获组不仅能对模式的部分内容进行分组,还能捕获匹配的文本。这些捕获组之后可以在模式中引用,也可以在替换操作的替换字符串中使用。

import re

text = "abab abab abab"
pattern = r"(ab)\1"
matches = re.findall(pattern, text)

print(matches)  # 输出:['ab', 'ab']

在上面的示例中,模式 (ab)\1 会捕获组 "ab",然后查找紧跟其后的相同组。\1 是对第一个捕获组的反向引用。

另一个示例:

import re

text = "My email is example@example.com and my backup is backup@example.com."
pattern = r"(\w+)@example\.com"
matches = re.findall(pattern, text)

print(matches)  # 输出:['example', 'backup']

在上面的示例中,模式 (\w+)@example\.com 会捕获电子邮件地址中 @example.com 前面的部分。

challenge icon

挑战

简单

编写一个名为 find_repeated_patterns 的函数,它接收一个文本字符串作为输入,并返回由两个字符组成的重复模式列表。

亲手试试

import re

def find_repeated_patterns(text):
    # 在这里编写代码

Python 正则表达式中的所有课

自己练习: Python 在线编译器

用你自己的文本测试正则: 正则表达式测试器