Chuyển đến nội dung
ToolMug

Kiểm tra Regex

Viết một biểu thức chính quy, xem mọi kết quả khớp được đánh dấu ngay khi bạn nhập, kiểm tra các nhóm capture và thử thay thế. Công cụ dùng engine regex của JavaScript, và một mẫu chạy quá lâu sẽ bị dừng thay vì làm treo trang.

Chạy trong trình duyệt — không có dữ liệu nào bạn nhập bị tải lên

//g
Mẫu thông dụng:
 
Contact: ada@example.com, grace.hopper@navy.mil
Servers: 10.0.0.1, 192.168.1.255
Date: 2026-09-26

Cách sử dụng

  1. Nhập mẫu giữa hai dấu gạch chéo, hoặc bắt đầu từ một trong các mẫu thông dụng.
  2. Bật hoặc tắt các cờ — g, i, m, s, u, y — để thay đổi cách khớp.
  3. Dán văn bản cần kiểm tra. Các kết quả khớp được đánh dấu và liệt kê cùng vị trí và nhóm.
  4. Nhập nội dung thay thế như $1 hoặc $<name> để xem trước kết quả tìm và thay thế.

Giải thích tùy chọn

g (toàn cục)
Tìm tất cả kết quả khớp thay vì dừng ở kết quả đầu tiên. Danh sách khớp luôn hiển thị tất cả; g ảnh hưởng đến việc thay thế.
i (không phân biệt hoa thường)
Chữ hoa và chữ thường được coi là khớp nhau.
m (nhiều dòng)
^ và $ khớp ở đầu và cuối mỗi dòng thay vì toàn bộ văn bản.
s (dotAll)
. khớp cả với ký tự xuống dòng.
u (unicode)
Coi mẫu là các code point Unicode, cho phép dùng \p{…} và xử lý emoji chính xác.
y (sticky)
Chỉ khớp tại đúng vị trí mà kết quả khớp trước đó kết thúc.

Tham khảo nhanh

Cú pháp Ý nghĩa
\d \w \s Chữ số, ký tự chữ, khoảng trắng
[abc] [^abc] [a-z] Một trong các ký tự, không phải các ký tự đó, khoảng ký tự
* + ? {2,5} 0 lần trở lên, 1 lần trở lên, 0 hoặc 1 lần, từ 2 đến 5 lần
*? +? Lazy — càng ít càng tốt
^ $ \b Đầu, cuối, biên từ
(…) (?:…) (?<name>…) Nhóm capture, nhóm không capture, nhóm có tên
(?=…) (?!…) (?<=…) (?<!…) Lookahead, negative lookahead, lookbehind, negative lookbehind
\p{L} \p{Script=Han} Bất kỳ chữ cái nào, chữ Hán (với cờ u)

Ví dụ

Mẫu (?<user>[\w.+-]+)@(?<domain>[\w-]+(?:\.[\w-]+)+) áp dụng trên ada@example.com cho user = ada và domain = example.com; phần thay thế $<domain>/$<user> tạo ra example.com/ada.

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

Công cụ dùng phương ngữ regex nào?

JavaScript (ECMAScript 2024), theo cách trình duyệt của bạn triển khai. Phần lớn cú pháp giống PCRE, Python và Java, nhưng lookbehind, nhóm có tên và escape Unicode có đôi chút khác biệt giữa các engine, nên hãy kiểm tra lại trong ngôn ngữ bạn sẽ dùng.

Vì sao báo mẫu bị dừng?

Một số mẫu, ví dụ (a+)+$ trên chuỗi dài toàn chữ a, khiến engine thử một số lượng kết hợp tăng theo cấp lũy thừa — gọi là catastrophic backtracking. Bộ kiểm tra chạy trong luồng nền và dừng sau 1,5 giây. Hãy viết lại các lượng từ lồng nhau hoặc dùng lớp ký tự cụ thể hơn.

Dùng nhóm capture trong phần thay thế thế nào?

Dùng $1, $2… cho nhóm theo số, $<name> cho nhóm có tên, $& cho toàn bộ kết quả khớp và $$ cho dấu đô la thật.

Văn bản của tôi có được gửi đi đâu không?

Không. Việc khớp chạy trong một Web Worker ngay trong trình duyệt, nên log và dữ liệu bạn kiểm tra luôn ở trên thiết bị của bạn.

Quyền riêng tư

Công cụ này chạy hoàn toàn trong trình duyệt của bạn. Tệp và văn bản được xử lý ngay trên thiết bị và không bao giờ được tải lên máy chủ của chúng tôi.

Công cụ liên quan