Bài học theo mô-đun (4/4)
Các nhóm được đặt tên và tài liệu tham khảo ngược
Khi số lượng nhóm tăng lên, hãy nhớ rằng $2 là "tháng" và $5
là “năm” trở nên mong manh. Cú pháp (?<name>...) cho phép bạn
đặt tên một nhóm: bạn truy cập nhóm đó theo tên thông qua groups.name (và trong
thay thế dưới dạng $<name>).
Pattern: (?<anno>\d{4})-(?<mese>\d{2})-(?<giorno>\d{2})
Sample: 2024-03-15
Gruppi:
anno = "2024"
mese = "03"
giorno = "15"Trình chỉnh sửa hiển thị các nhóm được đặt tên bên cạnh trận đấu.
Phản chiếu ngược
tham chiếu ngược cho phép bạn tham khảo, trong cùng một mẫu, tới lần chụp trước đó. Cú pháp:
\1,\2, … -- tham chiếu được đánh số (đến nhóm 1, 2, …).\k<name>-- tham chiếu có tên.
Pattern: \b(\w+)\s+\1\b
Sample: un test un test il il gatto
^^^^^Nó khớp với các từ trùng lặp liên tiếp: (\w+) ghi lại một từ, sau đó
\s+\1 yêu cầu một khoảng trắng và từ giống nhau.
Mã tự ghi lại và các tham chiếu ngược được đặt tên
Các nhóm được đặt tên cải thiện khả năng đọc mã JavaScript: thay vì tham khảo match[1], bạn truy cập match.groups.name. Bên trong mẫu, việc tham chiếu chúng được thực hiện bằng cú pháp \\k<name>.
Hãy thử nó
Tìm mọi ngày ở định dạng YYYY-MM-DD đặt tên cho các nhóm `anno`, `mese`, `giorno`.
Hiển thị gợi ý
Cú pháp: (?<name>mẫu). Trận đấu hiển thị các nhóm trong mục 'được đặt tên'.
Giải pháp khả dụng sau 3 lần thử
Xem lại bài tập
Tìm các từ trùng lặp liên tiếp (ví dụ: `il il`, `casa casa`). Sử dụng một nhóm cho nhóm đầu tiên và tham chiếu ngược `\\1` cho nhóm thứ hai.
Hiển thị gợi ý
\\b(\\w+)\\s+\\1\\b: từ đầu tiên là (\\w+), sau đó là dấu cách, sau đó là CÙNG từ \\1.
Giải pháp khả dụng sau 3 lần thử
Thử thách bổ sung
Find HTML/XML tag pairs (e.g. `**text**` or `*text*`) ensuring that the closing tag matches the opening tag using a named backreference.
Hiển thị gợi ý
Gán tên (?<tag>\\w+) và đóng nó bằng \\k<tag>.
Giải pháp khả dụng sau 3 lần thử