Kiểm tra regex
Viết một mẫu, dán văn bản và xem mọi kết quả khớp cùng các nhóm được tô sáng ngay khi gõ.
Sau khi thay thế
| # | Kết quả | Vị trí | Nhóm |
|---|
Bảng tra nhanh
| Cú pháp | Ý nghĩa |
|---|---|
. | Mọi ký tự trừ xuống dòng |
\d \w \s | Một chữ số, một ký tự từ, khoảng trắng |
\D \W \S | Mọi thứ trừ những ký tự đó |
[abc] [^abc] | Một trong a, b hoặc c; mọi thứ trừ chúng |
[a-z] | Một ký tự trong khoảng |
^ $ | Đầu và cuối chuỗi (hoặc dòng, khi có m) |
\b | Ranh giới từ |
* + ? | Không hoặc nhiều, một hoặc nhiều, không hoặc một |
{3} {2,5} | Đúng 3; từ 2 đến 5 |
*? +? | Càng ít càng tốt (lười) |
(abc) | Bắt một nhóm |
(?<name>abc) | Bắt một nhóm có tên |
(?:abc) | Nhóm không bắt |
a|b | a hoặc b |
(?=abc) (?!abc) | Theo sau là; không theo sau là |
(?<=abc) (?<!abc) | Đứng trước là; không đứng trước là |
\1 \k<name> | Lặp lại nội dung nhóm đã khớp |
Câu hỏi thường gặp
Công cụ dùng loại regex nào?
JavaScript (ECMAScript), đúng như trình duyệt của bạn chạy. Phần lớn cú pháp giống Python, Java và PCRE, nhưng các chi tiết như lookbehind và nhóm có tên có thể khác.
Vì sao mẫu của tôi bị quá thời gian?
Một số mẫu như (a+)+$ có thể tốn thời gian theo cấp số mũ với chuỗi gần khớp. Công cụ chạy mẫu trong luồng nền và dừng sau một giây.
Dùng nhóm trong chuỗi thay thế thế nào?
Dùng $1, $2 cho nhóm đánh số, $<tên> cho nhóm có tên và $& cho toàn bộ kết quả khớp.