Bỏ qua tới nội dung
Toolbench

Kiểm tra Regex

Thử biểu thức chính quy trên văn bản của bạn: mọi kết quả khớp, vị trí và nhóm.

Chạy hoàn toàn trong trình duyệt của bạn

Đang tải công cụ...

Cách sử dụng

  1. Nhập biểu thức — không cần dấu gạch chéo bao quanh.
  2. Bật các cờ bạn cần; cờ g luôn được áp dụng khi xem trước để bạn thấy mọi kết quả.
  3. Dán văn bản cần tìm. Kết quả được tô sáng ngay khi bạn gõ.
  4. Thêm nội dung thay thế để xem trước phép thay, dùng $1 hoặc $<tên> cho nhóm.

Tính năng

  • Mọi kết quả khớp kèm vị trí, nhóm đánh số và nhóm đặt tên.
  • Phần tô sáng ghép lại đúng bằng văn bản gốc của bạn.
  • Xem trước phép thay thế với tham chiếu $1 và $<tên>.
  • Cảnh báo biểu thức có thể làm treo trình duyệt, và biểu thức khớp chuỗi rỗng.
  • Chạy trong trình duyệt — nội dung bạn dán không bị tải lên.

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

Vì sao công cụ hiện mọi kết quả dù tôi chưa bật cờ g?
Vì một công cụ chỉ hiện một kết quả cho biểu thức có năm kết quả là đang mô tả chính nó chứ không mô tả biểu thức của bạn. Phần xem trước luôn tìm toàn cục; phần cảnh báo nhắc bạn rằng trong mã, nếu không có g thì bạn chỉ nhận được kết quả đầu tiên. Riêng phép thay thế thì tuân thủ đúng cờ bạn chọn.
Quay lui bùng nổ là gì?
Một số biểu thức mất thời gian theo cấp số nhân với đầu vào gần khớp. `(a+)+b` gặp một chuỗi dài toàn chữ a sẽ thử mọi cách chia trước khi bỏ cuộc. Bộ máy regex của JavaScript không thể bị ngắt khi đã bắt đầu khớp — không có cơ chế hết giờ — nên công cụ chạy trên trình duyệt chỉ có thể giới hạn dữ liệu đầu vào. Ở đây giới hạn độ dài văn bản và số kết quả, đồng thời cảnh báo các dạng nguy hiểm. Đó là biện pháp giảm nhẹ, không phải bảo đảm.
Vì sao văn bản bị giới hạn độ dài?
Hai mươi nghìn ký tự, vì lý do ở trên: văn bản càng dài thì nguy cơ treo tab càng lớn, và không thể cứu tab một khi phép khớp xấu đã bắt đầu. Đủ dài cho văn bản thực tế, đủ ngắn để còn an toàn.
Đây có phải regex giống ngôn ngữ tôi đang dùng không?
Đây là regex của JavaScript, khác PCRE, Python và Go ở một số điểm — hỗ trợ lookbehind, cú pháp nhóm đặt tên, và cách xử lý thuộc tính unicode. Biểu thức dùng cú pháp phổ thông sẽ hoạt động giống nhau ở mọi nơi; những thứ đặc thù nên kiểm tra lại trong chính ngôn ngữ bạn sẽ triển khai.

So sánh hai đoạn văn bản và thấy rõ dòng nào được thêm, xóa hay sửa.

Định dạng và làm đẹp JSON ngay lập tức.

Tách một URL thành giao thức, tên miền, đường dẫn, tham số truy vấn và mảnh neo.

Kiểm tra Regex — Kết quả khớp, nhóm và thay thế