Công cụ này làm gì
Biểu thức chính quy (regex) là một mẫu ngắn mô tả một tập chuỗi, ví dụ "bốn chữ số, dấu gạch ngang, hai chữ số" hay "mọi thứ nằm giữa hai dấu ngoặc góc". Công cụ này thử mẫu trên văn bản của bạn ngay khi bạn gõ: tô sáng từng chuỗi khớp, liệt kê vị trí, cho biết mỗi nhóm bắt lấy được gì và xem trước kết quả thay thế như $2, $1. Không có gì bạn dán vào bị tải lên, việc tìm kiếm chạy ngay trong trình duyệt.
Công cụ dùng bộ máy regex của chính trình duyệt, tức là cú pháp JavaScript (ECMAScript). Đây là lựa chọn đúng khi mẫu sẽ chạy trong JavaScript, TypeScript hoặc Node.js. Python, PHP hay Java có vài khác biệt nhỏ, nên hãy kiểm tra lại các tính năng đặc thù trong tài liệu của ngôn ngữ đó.
Các cờ
Cờ i bỏ qua hoa thường, m làm ^ và $ khớp ở mỗi đầu và cuối dòng, s cho dấu chấm khớp cả ký tự xuống dòng, u đọc văn bản theo điểm mã Unicode (biểu tượng cảm xúc tính là một ký tự), v là phiên bản chặt chẽ hơn của u và y chỉ khớp đúng tại điểm bắt đầu tìm. Vị trí được đếm theo đơn vị UTF-16 của JavaScript, bắt đầu từ 0.
Ví dụ
Với văn bản 2026-10-13 và mẫu (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}), công cụ tìm thấy một chuỗi khớp ở vị trí 0, dài 10 ký tự, với ba nhóm: 2026, 10 và 13. Đặt "Thay bằng" là $<day>/$<month>/$<year> sẽ ra 13/10/2026. Một ví dụ khác: trên <b>đậm</b> và <i>nghiêng</i>, mẫu <.+> khớp cả chuỗi vì .+ lấy nhiều nhất có thể, còn <.+?> chỉ khớp từng thẻ riêng.
Vì sao mẫu có thể bị treo
Một số mẫu chạy lâu gấp đôi sau mỗi ký tự thêm vào, gọi là quay lui thảm họa (catastrophic backtracking). Ví dụ kinh điển là ^(a+)+$ trên một chuỗi dài toàn chữ a rồi đến chữ b. Trong ứng dụng web, đây là rủi ro từ chối dịch vụ (ReDoS). Trang này chạy tìm kiếm trong worker nền và tự dừng sau 2 giây, nên tab không bị đơ. Cách sửa thường là bỏ phần lặp lồng nhau: ^a+$ cho cùng kết quả gần như tức thì.
Lỗi thường gặp
- Quên thoát ký tự đặc biệt: dấu chấm khớp mọi ký tự, muốn khớp dấu chấm thật phải viết
\.. - Mong
^ và $ khớp theo từng dòng mà không bật cờ m. - Quên cờ
g khi thay thế nên chỉ chuỗi đầu tiên bị đổi. - Dán cả dấu gạch chéo và cờ như
/ab+c/gi. Chỉ gõ phần giữa hai dấu gạch chéo và dùng các nút cờ.
Để xem phần thay thế đã đổi gì, hãy dán hai bản vào so sánh văn bản. Nếu bạn cần đặt lịch chạy thay vì tìm chuỗi, giải thích cron sẽ đọc lịch bằng lời.