Cách mẫu hoạt động
| Thành phần | Ý nghĩa |
|---|---|
\b(\w+) | Một từ nguyên vẹn, được bắt làm nhóm 1 |
\s+ | Khoảng trắng |
\1\b | Tham chiếu ngược: chính từ đó lặp lại |
i flag | “The the” được tính là trùng lặp |
→ $1 | Được thay bằng một bản duy nhất |
Ví dụ code
JavaScript
const out = text.replace(/\b(\w+)\s+\1\b/gi, "$1");Python
import re
out = re.sub(r'\b(\w+)\s+\1\b', r'\1', text, flags=re.I)PHP
$out = preg_replace('/\b(\w+)\s+\1\b/i', '$1', $text);
Lưu ý và giới hạn
Rất hữu ích khi soát lỗi chính tả. Một số lặp từ là có chủ đích (“had had”, “that that”), nên hãy xem lại các kết quả khớp trước khi thay thế tất cả.
Kiểm tra Regex
Nhập mẫu và xem các kết quả khớp được tô sáng ngay trong văn bản thử nghiệm.
Câu hỏi thường gặp
Regex tìm từ trùng lặp là gì?
/\b(\w+)\s+\1\b/gi — dùng với chức năng tìm và thay thế. Xem bảng ở trên để biết mỗi phần làm gì.
Có chạy được trong Python và PHP không?
Có — các ví dụ code ở trên dùng cùng mẫu này với re trong Python và các hàm preg trong PHP.
Làm sao để kiểm thử regex này?
Nhấn “Mở trong Regex Tester” — mẫu, cờ và văn bản mẫu sẽ tự động được tải, và các kết quả khớp được tô sáng khi bạn chỉnh sửa.