Công cụ kiểm tra Regex

Nhập mẫu và xem các kết quả khớp được tô sáng ngay trong văn bản thử nghiệm. Kiểm tra từng nhóm bắt, thử thay thế và dùng sẵn các mẫu cho email, URL, ngày tháng và nhiều thứ khác.

Cập nhật
Kết quả khớp sẽ hiển thị ở đây.

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
So sánh hai đoạn văn bản hoặc file code trực tuyến, tô sáng mọi khác biệt đến từng từSo sánh văn bản →

Cách dùng Kiểm tra Regex

  1. Nhập mẫu của bạn giữa hai dấu gạch chéo, hoặc chọn một mẫu trong Mẫu thường dùng. Bạn cũng có thể dán cả literal đầy đủ như /\d+/g.
  2. Bật/tắt các cờ như g (tìm tất cả kết quả), i (không phân biệt hoa thường) hoặc m (nhiều dòng).
  3. Dán văn bản vào Chuỗi kiểm tra — mọi kết quả khớp sẽ được tô sáng khi bạn gõ.
  4. Xem tab Matches để biết vị trí và nhóm bắt, hoặc mở Replace để xem trước kết quả thay thế.
  5. Nhấn Copy để sao chép regex dạng /pattern/flags; mẫu và cờ cũng được lưu trên URL trang để bạn chia sẻ.

Kiểm tra regex là gì?

Biểu thức chính quy (regex) là ngôn ngữ mẫu ngắn gọn dùng để tìm kiếm và biến đổi văn bản — kiểm tra trường email, trích xuất ID từ log, đổi tên file hoặc làm sạch dữ liệu. Vì chỉ một ký tự cũng có thể làm thay đổi kết quả khớp, việc thử và sai regex trực tiếp trong mã nguồn rất chậm. Công cụ kiểm tra regex cho bạn thấy ngay mẫu khớp với gì, nhóm bắt nào được điền và kết quả thay thế sẽ ra sao.

Công cụ này dùng chính bộ máy regex JavaScript (ECMAScript) của trình duyệt, nên kết quả giống hệt những gì String.prototype.match, matchAll, replace và RegExp.test trả về trên Chrome, Firefox, Safari, Node.js và Deno. Mẫu được chạy trong worker nền với giới hạn thời gian, nên một mẫu chạy vô hạn cũng không làm đơ trang.

Các cờ regex trong JavaScript

CờTênTác dụng
gglobalTìm mọi kết quả khớp thay vì dừng ở kết quả đầu tiên.
iignoreCase/abc/i khớp với “ABC”.
mmultiline^ và $ khớp với đầu và cuối của từng dòng.
sdotAll. cũng khớp với ký tự xuống dòng.
uunicodeCoi cặp surrogate (emoji) là một ký tự và bật các escape thuộc tính \p{…}.
ystickyChỉ khớp tại vị trí lastIndex — hữu ích khi viết bộ tách token.

Nhóm bắt, nhóm có tên và thay thế

Dấu ngoặc đơn bắt lấy phần văn bản mà nó khớp. Trong (\d{4})-(\d{2}), nhóm 1 là năm và nhóm 2 là tháng. Nhóm có tên giúp mẫu tự giải thích: (?<year>\d{4}) có thể dùng trong code qua match.groups.year và trong chuỗi thay thế qua $<year>. Ví dụ, thay (?<y>\d{4})-(?<m>\d{2})-(?<d>\d{2}) bằng $<d>/$<m>/$<y> sẽ biến 2026-10-25 thành 25/10/2026. Dùng (?:…) khi bạn muốn nhóm các phần tử mà không bắt lấy chúng.

Backtracking thảm họa

Các mẫu có bộ lượng từ lồng nhau như (a+)+$ hoặc (\w+\s?)*$ có thể mất thời gian theo hàm mũ với đầu vào gần khớp — nguyên nhân kinh điển khiến trình duyệt bị treo và gây lỗ hổng ReDoS trên máy chủ. Nếu một mẫu chạy quá 1,5 giây tại đây, nó sẽ bị dừng và được đánh dấu. Cách khắc phục: làm các nhánh loại trừ lẫn nhau, thay .* bằng lớp phủ định như [^"]*, hoặc neo mẫu bằng ký hiệu đầu/cuối.

Mẹo viết mẫu đáng tin cậy

  • Neo các mẫu kiểm tra bằng ^…$, nếu không \d{5} cũng sẽ “hợp lệ” với abc123456.
  • Escape các ký tự đặc biệt khi cần dùng nguyên văn: \. \? \( \[ \$.
  • Ưu tiên lớp ký tự cụ thể thay vì .*; chúng nhanh hơn và khớp đúng với ý bạn muốn.
  • Regex không phù hợp với các định dạng lồng nhau như HTML hay JSON — hãy dùng bộ phân tích cú pháp (hoặc thử JSON Formatter của chúng tôi).
  • Cần so sánh văn bản trước và sau khi thay thế toàn bộ? Dán cả hai vào Diff Checker.

Cũng được tìm dưới tên: regex tester, test regex online, biểu thức chính quy, regex javascript, kiểm tra biểu thức chính quy, regex checker, regex replace.

Các công cụ dùng kèm tốt với Kiểm tra Regex

  • Định dạng JavaScript — Giải nén và định dạng lại JavaScript, JSON hoặc JSX với kiểu thụt lề và dấu ngoặc bạn chọn, hoặc loại bỏ khoảng trắng và chú thích bằng bộ thu gọn đã được kiểm chứng.
  • Mã hóa / Giải mã URL — Mã hóa văn bản để dùng an toàn trong URL, giải mã chuỗi đã mã hóa về dạng dễ đọc và tách mọi URL thành các phần cùng tham số truy vấn.
  • Tạo slug URL — Chuyển mọi tiêu đề thành slug URL gọn gàng, viết thường, với cách bỏ dấu, chuyển ä/ö/ü và chữ Cyrillic chính xác.
  • Xóa Dòng Trùng Lặp — Dán danh sách để xóa dòng trùng lặp ngay lập tức.

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

Công cụ này dùng loại regex nào?
JavaScript (ECMAScript), chạy bằng bộ máy gốc của trình duyệt. Phần lớn cú pháp giống PCRE, Python và Java, nhưng một số tính năng khác biệt: JavaScript không có lượng từ sở hữu (possessive), nhóm nguyên tử (cho đến gần đây), neo \A/\Z hay bộ sửa đổi nội tuyến như (?i).
Vì sao mẫu của tôi chỉ tìm được một kết quả?
Nếu không có cờ g (global), JavaScript sẽ dừng ở kết quả khớp đầu tiên. Hãy bật g để tìm tất cả — công cụ cũng sẽ nhắc bạn khi cờ này đang tắt.
Làm sao để khớp qua nhiều dòng?
Dùng cờ m để ^ và $ hoạt động theo từng dòng, và cờ s (hoặc [\s\S]) nếu bạn muốn . cũng khớp với ký tự xuống dòng.
Văn bản thử nghiệm của tôi có được lưu hay tải lên không?
Không. Việc khớp mẫu diễn ra ngay trong trình duyệt. Chỉ mẫu và cờ được ghi vào URL trang để bạn chia sẻ liên kết; văn bản thử nghiệm không bao giờ được đưa vào URL hay gửi đi đâu cả.
Regex nào tốt để kiểm tra địa chỉ email?
Một lựa chọn thực dụng là ^[^\s@]+@[^\s@]+\.[^\s@]+$ (hoặc mẫu “Email address” có sẵn). Các mẫu tuân thủ đầy đủ RFC 5322 rất dài và vẫn không cho bạn biết hộp thư có tồn tại hay không — việc đó cần gửi email xác nhận.
Vì sao mẫu của tôi bị dừng?
Mẫu chạy quá 1,5 giây, gần như luôn là do backtracking thảm họa từ các bộ lượng từ lồng nhau hoặc chồng chéo. Hãy làm các phần có lượng từ cụ thể hơn để bộ máy có ít cách thử cùng một văn bản hơn.
Tôi có thể cài Kiểm tra Regex như một ứng dụng web và dùng khi không có mạng không?
Có. Kiểm tra Regex là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan