Chuyển đến nội dung

Công cụ kiểm tra biểu thức chính quy — Kiểm tra biểu thức chính quy JavaScript trực tuyến

Kiểm tra biểu thức chính quy JavaScript trực tuyến: đánh dấu kết quả khớp trực tiếp, nhóm bắt và nhóm có tên, mọi cờ và bản xem trước thay thế. Các mẫu chạy chậm sẽ dừng sau 1s.

Chuyển đổi trong trình duyệt · Không cần đăng ký

//g
Cờ
Bảng tra nhanh
.
Bất kỳ ký tự nào trừ ký tự xuống dòng (dùng cờ s để bao gồm cả xuống dòng)
\d \w \s
Chữ số, ký tự thuộc từ [A-Za-z0-9_], khoảng trắng
\D \W \S
Không phải chữ số, không phải ký tự thuộc từ, không phải khoảng trắng
[abc] [^abc]
Một trong a, b, c / bất kỳ ký tự nào trừ a, b, c
[a-z]
Bất kỳ ký tự nào từ a đến z
^ $
Đầu / cuối chuỗi đầu vào (của mỗi dòng khi có cờ m)
\b
Ranh giới từ
* + ?
0 lần trở lên, 1 lần trở lên, 0 hoặc 1 lần
{2,5}
Từ 2 đến 5 lần ({3} là đúng 3 lần, {2,} là ít nhất 2 lần)
*? +?
Dạng không tham lam: khớp ít nhất có thể
(abc)
Nhóm bắt giữ
(?<name>abc)
Nhóm bắt giữ có tên
(?:abc)
Nhóm không bắt giữ
\1 \k<name>
Lặp lại nội dung mà nhóm 1 / nhóm có tên đã khớp
a|b
a hoặc b
(?=a) (?!a)
Có a theo sau / không có a theo sau
(?<=a) (?<!a)
Có a đứng trước / không có a đứng trước
\p{L}
Bất kỳ chữ cái nào trong bất kỳ ngôn ngữ nào (cần cờ u hoặc v)

Dùng bộ máy biểu thức chính quy JavaScript (ECMAScript) của trình duyệt, nên kết quả khớp với mã JavaScript. Các bộ máy khác như PCRE, Python hoặc Java khác nhau ở một số cú pháp. Việc so khớp chạy trong luồng xử lý nền và dừng sau 1 giây để bảo vệ trang khỏi hiện tượng quay lui bùng nổ.

Cách sử dụng

  1. Nhập biểu thức chính quy và chọn các cờ cần dùng (g tìm tất cả kết quả khớp).
  2. Dán văn bản cần kiểm tra; các phần khớp được tô nổi bật và liệt kê kèm vị trí cùng các nhóm bắt giữ.
  3. Bật Thay thế để xem trước kết quả của String.replace với tham chiếu $1 hoặc $<name>.

Ví dụ

Mẫu: (?<user>\w+)@(\w+)\.com  cờ: g
Văn bản: alice@example.com, bob@test.com
Kết quả khớp: alice@example.com (user = alice, 2 = example), bob@test.com
Thay bằng $<user> at $2 → alice at example, bob at test

Chi tiết và giới hạn

Các mẫu chạy bằng bộ máy JavaScript RegExp có sẵn trong trình duyệt, nên khẳng định phía sau, nhóm có tên, cú pháp thoát thuộc tính Unicode và cờ d hoạt động đúng như trong mã của bạn. Cờ v chỉ xuất hiện nếu trình duyệt hỗ trợ.

Việc so khớp diễn ra trong Web Worker trên thiết bị của bạn; không có gì được tải lên. Một lượt chạy bị dừng sau khoảng 1 giây, và tối đa 1.000 kết quả khớp được liệt kê.

FAQ

Tại sao biểu thức chính quy của tôi chỉ tìm được một kết quả?

Trong JavaScript, biểu thức chính quy không có cờ g (toàn cục) sẽ dừng ở kết quả khớp đầu tiên. Chọn g để tìm mọi kết quả; công cụ sẽ liệt kê tất cả.

Quay lui bùng nổ là gì?

Một số mẫu như (a+)+$ hoặc (.*)* có thể mất thời gian tăng theo cấp số nhân khi xử lý văn bản gần khớp. Công cụ này chạy biểu thức trong một luồng xử lý riêng và dừng sau 1 giây, nên trang vẫn phản hồi và hiển thị lỗi.

Biểu thức kiểm tra ở đây có dùng được trong Python hoặc PHP không?

Thường là có, nhưng không phải luôn luôn. Công cụ này dùng bộ máy của JavaScript. Python, PHP (PCRE) và Java có tính năng và cú pháp khác nhau cho những phần như nhóm có tên, khẳng định phía sau và cờ, nên hãy kiểm tra lại các mẫu phụ thuộc vào chúng.

Tài liệu tham khảo về định dạng

Trang công cụ được cập nhật: