Kiểm tra Regex

Nhập biểu thức chính quy và văn bản để xem đoạn nào khớp, các nhóm bắt và kết quả thay thế. Dùng cú pháp JavaScript, chạy trong trình duyệt của bạn.

Tối đa 200 KB.

Kết quả

Nhập biểu thức để bắt đầu.

Bảng tra nhanh (cú pháp JavaScript)
.
một ký tự bất kỳ (trừ xuống dòng, trừ khi bật cờ s)
\d \D
chữ số | không phải chữ số
\w \W
chữ, số hoặc gạch dưới | ngược lại
\s \S
khoảng trắng | không phải khoảng trắng
\b \B
ranh giới từ | không phải ranh giới từ
^ $
đầu và cuối văn bản (cờ m: đầu và cuối mỗi dòng)
[abc] [^abc] [a-z]
một trong các ký tự | không phải | một khoảng
(…) (?:…) (?<tên>…)
nhóm bắt | nhóm không bắt | nhóm đặt tên
a|b
a hoặc b
* + ? {3} {3,6}
lặp 0+, 1+, 0 hoặc 1, đúng 3, từ 3 đến 6 lần; thêm ? để lặp ít nhất có thể
(?=…) (?!…) (?<=…) (?<!…)
nhìn trước có / không; nhìn sau có / không
\1 \k<tên>
nhắc lại nhóm đã bắt
\p{L} \p{Lu}
ký tự theo thuộc tính Unicode (cần cờ u hoặc v)

Cách sử dụng

  1. 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).
  2. 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.
  3. 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 đó.
  4. 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.