Cách sử dụng
- Gõ biểu thức chính quy vào ô giữa hai dấu / và chọn cờ cần dùng; chọn chức năng ở thanh công cụ (khớp đầu, tất cả, thay thế, tách, lọc dòng).
- Dán văn bản cần thử vào ô bên trái. Kết quả hiện ở ô bên phải: các đoạn khớp được tô sáng và liệt kê kèm vị trí và nhóm bắt.
- Với chức năng Thay thế, nhập chuỗi thay (ví dụ $3/$2/$1). "Chép liên kết" cho bạn một đường dẫn để gửi người khác thử đúng biểu thức đó.
- Nếu biểu thức chạy quá 2 giây, tool dừng nó và báo, để trang không bị treo.
Về biểu thức chính quy
- Biểu thức chính quy (regex) là mẫu để tìm đoạn văn bản. Tool dùng đúng bộ máy RegExp của JavaScript trong trình duyệt của bạn, nên kết quả giống như khi bạn dùng nó trong mã JavaScript. Các ngôn ngữ khác (PHP, Python, Java) có khác biệt nhỏ về cú pháp, nên đừng coi kết quả ở đây là chắc chắn cho ngôn ngữ đó.
- Một số mẫu thường dùng: \d là chữ số, \w là chữ hoặc số hoặc gạch dưới, \s là khoảng trắng, . là một ký tự bất kỳ, + là một hay nhiều lần, * là không hoặc nhiều lần, ? là không hoặc một lần, (…) là nhóm bắt, (?<tên>…) là nhóm đặt tên.
- Biểu thức có thể chạy rất lâu nếu nó phải thử quá nhiều cách khớp (catastrophic backtracking). Tool chạy biểu thức trong một tiến trình nền và dừng sau 2 giây, nên trang không bị treo.
- Giới hạn: văn bản tối đa 200 KB, biểu thức tối đa 2.000 ký tự. Tool giữ và hiển thị 1.000 đoạn khớp đầu tiên và đếm đến 100.000 đoạn. Kết quả thay thế lớn hơn 2 MB không được hiển thị.
- Văn bản và biểu thức của bạn chỉ được xử lý trong trình duyệt, không gửi đi đâu.
Câu hỏi thường gặp
Vì sao cùng một regex ở đây và ở ngôn ngữ khác ra kết quả khác?
Tool dùng RegExp của JavaScript. PHP (PCRE), Python hay Java có một số cú pháp riêng, ví dụ lookbehind, nhóm nguyên tử hoặc cờ inline. Hãy thử lại trong chính ngôn ngữ bạn dùng.
Vì sao tool báo biểu thức chạy quá thời gian?
Một số biểu thức lồng lặp như (a+)+$ phải thử số cách tăng rất nhanh khi chuỗi dài hơn và không khớp. Tool dừng chúng sau 2 giây. Hãy viết mẫu cụ thể hơn hoặc dùng nhóm không bắt và ký tự giới hạn rõ ràng.
Khớp rỗng là gì?
Là đoạn khớp không có ký tự nào, ví dụ biểu thức x* trên văn bản "abc" khớp rỗng ở mọi vị trí. Tool đánh dấu chúng bằng một vạch nhỏ.
Tool có gửi văn bản của tôi lên máy chủ không?
Không. Mọi thứ chạy trong trình duyệt của bạn.