Trình kiểm tra Regex
Cờ
Gõ một biểu thức chính quy, dán văn bản để kiểm tra, và trình kiểm tra chạy mẫu rồi liệt kê mọi kết quả khớp tìm được. Mỗi kết quả cho thấy nơi kết quả khớp bắt đầu và nội dung của từng nhóm bắt, để bạn thấy chính xác mẫu đã bắt được gì. Bật các cờ không phân biệt hoa thường, đa dòng và dotall để thay đổi cách mẫu hoạt động.
Cách kiểm tra một regex
-
1
Nhập mẫu của bạn
Gõ biểu thức không kèm dấu phân cách; trình kiểm tra tự bao nó trong `/ /` cho bạn. Một mẫu không hợp lệ hiển thị thông báo lỗi rõ ràng thay vì thất bại âm thầm.
-
2
Chọn các cờ
Bật `i` (không phân biệt hoa thường), `m` (đa dòng) hoặc `s` (dotall) để khớp theo cách bạn cần.
-
3
Dán văn bản kiểm tra
Thêm văn bản bạn muốn tìm. Trình kiểm tra duyệt toàn bộ và tìm mọi kết quả khớp, không chỉ kết quả đầu tiên.
-
4
Xem xét các kết quả khớp
Mỗi kết quả khớp cho thấy vị trí (offset) của nó trong văn bản, kết quả khớp đầy đủ và từng nhóm bắt được đánh số.
Trình kiểm tra cho bạn thấy gì
Chạy một mẫu trong đầu, hoặc với một lệnh grep nhanh, cho bạn biết liệu có gì khớp. Trình kiểm tra còn cho thấy:
- Mọi kết quả khớp, cùng vị trí của nó. Nó luôn tìm trong toàn bộ văn bản và báo cáo mỗi kết quả khớp kèm offset ký tự nơi nó bắt đầu.
- Nhóm nào bắt được gì. Mỗi kết quả khớp được tách thành kết quả khớp đầy đủ và các nhóm bắt được đánh số, để bạn xác nhận một
(...)đã bắt đúng phần bạn mong đợi. - Các cờ thay đổi điều gì. Bật
i,mhoặcsrồi kiểm tra lại để thấy việc khớp không phân biệt hoa thường, đa dòng hay dotall thay đổi kết quả ra sao.
Các cờ, nói ngắn gọn
| Cờ | Tên | Thay đổi điều gì |
|---|---|---|
i |
Không phân biệt hoa thường | A cũng khớp a, và ngược lại |
m |
Đa dòng | ^ và $ khớp ở đầu và cuối mỗi dòng, không chỉ toàn bộ văn bản |
s |
Dotall | . cũng khớp các ký tự xuống dòng |
Việc khớp luôn là toàn cục: trình kiểm tra trả về mọi kết quả khớp trong văn bản, nên không có cờ “global” riêng cần đặt. Các mẫu chạy trên engine PCRE với hỗ trợ Unicode, nên các lớp như \w và \d hoạt động nhất quán trên văn bản quốc tế.
Các vấn đề regex thường gặp mà công cụ này giúp phát hiện
| Triệu chứng | Nguyên nhân thường gặp |
|---|---|
| Một kết quả khớp khổng lồ bao trùm mọi thứ | .* tham lam; dùng .*? hoặc một lớp phủ định như [^"]* |
^ hoặc $ chỉ khớp một lần |
Thiếu cờ m trên văn bản nhiều dòng |
. dừng ở các dấu xuống dòng |
Thiếu cờ s |
| Nhóm bắt theo thứ tự bất ngờ | ( lồng nhau làm lệch số thứ tự nhóm; đếm chúng từ trái sang phải |
| Một mẫu chạy chậm | * hoặc + lồng nhau trên các lựa chọn chồng lấn gây quay lui nặng |
Mẹo cho các mẫu nhanh và an toàn hơn
- Neo bằng
^khi kết quả khớp bắt đầu từ đầu, để engine không quét toàn bộ chuỗi. - Ưu tiên một lớp ký tự (
[abc]) hơn phép thay thế (a|b|c); các lớp nhanh hơn trong mọi engine lớn. - Thay
.*tham lam bằng một lớp phủ định như[^"]*khi bạn biết ký tự kết thúc, để không có quay lui.
Câu hỏi thường gặp
Nó chạy mẫu của bạn bằng PCRE, engine tích hợp trong PHP, với chế độ Unicode bật. Cú pháp riêng của PCRE, như \d, \b và lookaround, hoạt động như mong đợi. Nếu bạn sẽ triển khai mẫu trong JavaScript, Python hay ngôn ngữ khác, hãy kiểm tra các khác biệt cú pháp nhỏ trước khi phát hành.
Mọi kết quả khớp. Trình kiểm tra luôn tìm trong toàn bộ văn bản, nên không có cờ “global” riêng cần đặt. Mỗi kết quả khớp được liệt kê kèm vị trí của nó trong văn bản.
Có. Mỗi kết quả khớp được tách thành kết quả khớp đầy đủ và từng nhóm bắt được đánh số, để bạn xác nhận mỗi (...) đã bắt phần nào của văn bản.
i khiến việc khớp không phân biệt hoa thường, m khiến ^ và $ khớp ở mỗi ranh giới dòng, và s cho phép . khớp các ký tự xuống dòng. Bật hoặc tắt chúng rồi kiểm tra lại để so sánh kết quả.
Trình kiểm tra hiển thị một thông báo lỗi rõ ràng mô tả vấn đề, chẳng hạn một dấu ngoặc không đóng hay một nhóm chưa hoàn tất, thay vì âm thầm trả về không có kết quả khớp.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Trình giải mã mã JavaScript (JavaScript Deobfuscator)
Giải mã mã JavaScript đã được rút gọn hoặc nén bằng cách đổi tên biến, giải mã chuỗi và mảng, đảo ngược cấu trúc dòng điều khiển và làm đẹp mã.
Trình định dạng HTML
Định dạng HTML cục bộ trong trình duyệt với thụt lề hai hoặc bốn khoảng trắng. HTML không được tải lên hoặc xác thực.
Chuyển đổi HTML sang BBCode
Chuyển đổi các đoạn mã HTML thành BBCode dành cho phpBB, vBulletin và các phần mềm diễn đàn khác không hỗ trợ định dạng HTML thô.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Testador de Regex [PT]
- Probador de Regex [ES]
- 正規表現テスター [JA]
- أداة اختبار Regex [AR]
- Regex-testare [SV]
- Regex-Tester [DE]
- Testeur de Regex [FR]
- Penguji Regex [ID]
- Regex-tester [NL]
- ตัวทดสอบ Regex [TH]
- 정규식 테스터 [KO]
- Tester Regex [PL]
- Tester di Regex [IT]
- Тестер Regex [RU]
- Regex Test Aracı [TR]
- 正则测试器 [ZH]
- Regex Tester [EN]