Menu
CoddyTech

Bắt nhóm

Bài học 17 trên 28 trong khóa học Biểu thức chính quy trong Python của Coddy.

Nhóm bắt (capturing group) không chỉ nhóm các phần của mẫu mà còn ghi lại văn bản khớp. Bạn có thể tham chiếu các nhóm đã bắt này ở phần sau của mẫu hoặc dùng chúng trong chuỗi thay thế.

import re

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

print(matches)  # Đầu ra: ['ab', 'ab']

Trong ví dụ trên, mẫu (ab)\1 bắt nhóm "ab", rồi tìm nhóm giống hệt ngay sau đó. \1 là tham chiếu ngược (backreference) đến nhóm bắt đầu tiên.

Một ví dụ khác:

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)  # Đầu ra: ['example', 'backup']

Trong ví dụ trên, mẫu (\w+)@example\.com bắt phần địa chỉ email nằm trước @example.com.

challenge icon

Thử thách

Dễ

Viết một hàm tên là find_repeated_patterns, nhận một chuỗi văn bản làm đầu vào và trả về danh sách các mẫu lặp lại gồm hai ký tự.

Tự làm thử

import re

def find_repeated_patterns(text):
    # Viết code ở đây

Tất cả bài học trong Biểu thức chính quy trong Python

Tự luyện tập: Trình biên dịch Python online

Thử một mẫu trên văn bản của bạn: Công cụ kiểm tra regex