Công cụ này chạy hoàn toàn trên trình duyệt. Dữ liệu bạn nhập không rời khỏi thiết bị.
Advertisement
Công cụ này kiểm thử biểu thức chính quy theo thời gian thực, tô sáng mọi đoạn khớp trong văn bản mẫu và liệt kê các nhóm bắt được (capture group). Bạn dùng khi viết regex để kiểm tra email, số điện thoại, mã đơn hàng, hoặc để bóc tách dữ liệu từ log mà không phải chạy đi chạy lại một đoạn script.
Cần nhớ regex trong JavaScript chạy theo động cơ backtracking, nên các mẫu lồng nhau kiểu (a+)+ có thể gây bùng nổ thời gian xử lý và treo cả tab khi gặp chuỗi dài. Ngoài ra ký tự có ý nghĩa đặc biệt như dấu chấm, dấu sao, ngoặc đơn phải được thoát bằng dấu gạch chéo ngược nếu bạn muốn khớp đúng ký tự đó.
Cách sử dụng
Nhập biểu thức chính quy vào ô pattern.
Bật cờ cần dùng như i cho không phân biệt hoa thường, g cho toàn bộ, m cho nhiều dòng.
Dán văn bản mẫu vào ô bên dưới để xem kết quả khớp.
Kiểm tra danh sách nhóm bắt được và thử lại với các trường hợp biên.
This tester evaluates a regular expression in real time, highlights every match in your sample text, and lists the capture groups it found. It helps while writing patterns for emails, phone numbers, order codes, or extracting fields from logs without rerunning a script each time.
Keep in mind that JavaScript regex uses a backtracking engine, so nested patterns like (a+)+ can blow up in processing time and freeze the tab on long inputs. Also remember that characters with special meaning, such as dot, star, and parentheses, must be escaped with a backslash when you want them matched literally.
How to use
Type the regular expression into the pattern field.
Enable the flags you need: i for case-insensitive, g for global, m for multiline.
Paste sample text below to see the matches highlighted.
Check the capture group list and retest against edge cases.
Câu hỏi thường gặp
Vì sao regex của tôi treo trình duyệt?
Nguyên nhân thường là backtracking bùng nổ từ các nhóm lồng nhau hoặc lặp vô hạn như (a+)+ hay (.*)*. Cách khắc phục là viết lại theo dạng chặt hơn, ví dụ dùng [^,]+ thay cho (.*)+, hoặc giới hạn độ dài chuỗi đầu vào.
Cờ g và cờ i khác nhau thế nào?
Cờ g (global) khiến regex tìm tất cả kết quả khớp thay vì dừng ở kết quả đầu tiên. Cờ i (ignore case) bỏ qua phân biệt chữ hoa chữ thường. Hai cờ có thể bật cùng lúc, và thường phối hợp với cờ m cho văn bản nhiều dòng.
Regex viết ở đây có dùng được trong Python hoặc PHP không?
Phần lớn cú pháp cơ bản giống nhau, nhưng vẫn có khác biệt. Python dùng (?P<tên>...) cho nhóm có tên trong khi JavaScript dùng (?<tên>...), và các ký tự \d, \w nhìn chung tương thích nhưng có thể khác ở chế độ Unicode.
Why does my regex freeze the browser?
Usually catastrophic backtracking caused by nested groups or unbounded repeats like (a+)+ or (.*)*. Rewrite the pattern more tightly, for example using [^,]+ instead of (.*)+, or cap the length of the input string.
What is the difference between the g and i flags?
The g (global) flag makes the pattern find every match instead of stopping at the first one. The i (ignore case) flag makes matching case-insensitive. You can enable both at once, and they often pair with m for multiline text.
Can I reuse this regex in Python or PHP?
Most basic syntax carries over, but not everything. Python uses (?P<name>...) for named groups while JavaScript uses (?<name>...). Shorthand classes like \d and \w are broadly compatible but may behave differently under Unicode mode.