Trình test Regex online

Highlight trực tiếp · capture group · giải thích pattern · chống treo

/ / g

Về công cụ này

RegexCheck chạy pattern bằng chính engine JavaScript mà code của bạn sử dụng — khớp ở đây thì cũng khớp trong Node.js và mọi trình duyệt. Highlight ngay khi gõ, liệt kê capture group từng kết quả, và bảng phân tích dịch từng phần pattern sang ngôn ngữ dễ hiểu.

Pattern chạy trong Web Worker với cơ chế ngắt sau 2 giây, nên regex bị catastrophic backtracking như (a+)+$ không thể làm treo trang. Mọi thứ ở lại máy bạn — văn bản dán vào không bao giờ được tải lên. Cần điểm khởi đầu? Lấy pattern email, URL, IP có sẵn, hoặc mở cheatsheet. Thêm công cụ miễn phí tại dec0de.dev.

Công cụ này cũng chạy offline: cài như một app và nó mở tức thời không cần mạng. Khi cần xử lý kết quả khớp — trích từ log, xoá các dòng khớp hay viết lại bằng backreference — công cụ anh em regexnow.com trích xuất, lọc và thay thế hàng loạt bằng cùng một engine. Mỗi pattern ở trang pattern thông dụng mở tại đây chỉ với một cú nhấp, kèm sẵn văn bản mẫu, để bạn tinh chỉnh regex đã kiểm chứng thay vì viết từ đầu.

Câu hỏi thường gặp

Trình test này dùng "flavor" regex nào?

JavaScript (ECMAScript) — đúng engine chạy trong Node.js và mọi trình duyệt. Lookahead, lookbehind, nhóm đặt tên và Unicode property escape đều hoạt động; cú pháp riêng của PCRE (possessive quantifier, atomic group) thì không.

Văn bản tôi dán có bị tải lên đâu không?

Không. Việc khớp chạy hoàn toàn trong trình duyệt của bạn, bên trong một Web Worker — những gì bạn gõ hay dán không bao giờ rời khỏi máy, và công cụ vẫn chạy kể cả khi mất mạng.

Các cờ g, i, m, s và u nghĩa là gì?

g tìm mọi kết quả thay vì dừng ở kết quả đầu; i bỏ qua hoa/thường; m cho ^ và $ khớp đầu/cuối từng dòng; s cho dấu chấm khớp cả ký tự xuống dòng; u bật xử lý Unicode đầy đủ, gồm cả \p{…}.

Tại sao báo thực thi bị ngắt sau 2 giây?

Pattern của bạn nhiều khả năng gây catastrophic backtracking: quantifier lồng nhau như (a+)+ buộc engine thử số đường đi tăng theo cấp số mũ. Công cụ chạy pattern trong Web Worker và ngắt mọi lần chạy sau 2 giây để trang không bao giờ treo — hãy viết lại bằng quantifier lazy hoặc bỏ phép lặp lồng nhau.