Biểu thức chính quy Người thử nghiệm
Kiểm tra và gỡ lỗi các biểu thức chính quy ngay lập tức trong trình duyệt của bạn. Đánh dấu các kết quả trùng khớp, xem các nhóm chụp và sử dụng chế độ thay thế - miễn phí và riêng tư.
Kiểm tra và gỡ lỗi các biểu thức chính quy ngay lập tức trong trình duyệt của bạn. Đánh dấu các kết quả trùng khớp, xem các nhóm chụp và sử dụng chế độ thay thế - miễn phí và riêng tư.
Biểu thức chính quy là ngôn ngữ dành riêng cho miền để khớp các mẫu trong văn bản. Chúng đã là một phần của điện toán từ năm 1968 và hiện được tích hợp vào mọi ngôn ngữ lập trình, trình soạn thảo văn bản và công cụ tìm kiếm dòng lệnh hiện đại. Cú pháp ngắn gọn nhưng dễ mắc lỗi: những thay đổi nhỏ tạo ra hành vi khớp khác biệt một cách tinh tế và các biểu thức phức tạp nhanh chóng trở nên không thể đọc được. Trình kiểm tra hiển thị các kết quả khớp trong thời gian thực khi bạn chỉnh sửa mẫu là cách hiệu quả nhất để phát triển và xác minh biểu thức chính quy.
Trình kiểm tra này chạy trong trình duyệt của bạn bằng cách sử dụng công cụ biểu thức chính quy JavaScript (chính là công cụ mà ứng dụng của bạn sử dụng nếu nó chạy trong trình duyệt). Các mẫu và văn bản kiểm tra cập nhật một cách phản ứng: mọi thay đổi sẽ chạy lại trận đấu. Các nhóm phù hợp được đánh dấu, các nhóm đã nắm bắt được liệt kê và các cờ (không phân biệt chữ hoa chữ thường, nhiều dòng, chung) được hiển thị để thử nghiệm.
Cú pháp Regex khác nhau một cách tinh tế giữa các công cụ. JavaScript tuân theo thông số ECMAScript; Python, PCRE (được sử dụng bởi PHP và nhiều ngôn ngữ khác), Java và Go, mỗi ngôn ngữ đều có phương ngữ riêng với các tính năng chồng chéo nhưng không giống nhau. Các mẫu được phát triển ở đây sử dụng cú pháp ECMAScript; tính di động giữa các công cụ yêu cầu kiểm tra tài liệu của từng mục tiêu.
Lỗi Regex nổi tiếng là khó gỡ lỗi sau khi triển khai. Một mẫu có vẻ hợp lý có thể khớp nhiều hơn hoặc ít hơn dự định, thất bại trong các trường hợp khó khăn hoặc có sự quay lui nghiêm trọng đối với một số đầu vào nhất định. Các mẫu thử nghiệm tương tác với các vấn đề khai thác đầu vào đại diện trước khi xem xét và sản xuất mã.
Các mẫu cũng được hưởng lợi từ tài liệu. Việc hiển thị một biểu thức chính quy cùng với dữ liệu đầu vào phải khớp và dữ liệu đầu vào không khớp sẽ làm cho ý định trở nên rõ ràng. Những người bảo trì trong tương lai (bao gồm cả bạn trong sáu tháng nữa) đánh giá cao các trường hợp thử nghiệm được ghi lại nhiều hơn là họ đánh giá cao những câu nói thông minh.
Nhập mẫu, nhập dữ liệu kiểm tra, xem các kết quả phù hợp được đánh dấu trực tiếp.
Regex JavaScript tuân theo đặc tả ECMAScript. Các tính năng chính: các lớp ký tự ([abc], [^abc]), bộ định lượng (*, +, ?, {n,m}), xen kẽ (|), nhóm ((...)), nhóm bắt và không bắt, nhìn về phía trước và nhìn phía sau (công cụ hiện đại), phản hồi ngược, nhóm được đặt tên, thoát thuộc tính Unicode (với cờ u) và tập hợp các chuỗi thoát tiêu chuẩn.
Những điểm khác biệt quan trọng so với PCRE và Python: tính năng hỗ trợ nhìn phía sau gần đây đã có trong JavaScript (2018+); các nhóm được đặt tên sử dụng cú pháp (?<name>...); một số lối thoát Unicode yêu cầu cờ u hoạt động chính xác. Các mẫu dành cho việc sử dụng đa ngôn ngữ phải được kiểm tra dựa trên tài liệu của từng mục tiêu.
Hiệu suất: các công cụ biểu thức chính quy dựa trên hoạt động quay lui (hầu hết bao gồm cả JavaScript) có thể có hoạt động quay lui thảm khốc trên một số mẫu bệnh lý nhất định. Các thử nghiệm làm treo máy thử nghiệm là một dấu hiệu cho thấy mẫu cần được đơn giản hóa - thường bằng cách tránh các bộ định lượng lồng nhau và sự xen kẽ không rõ ràng.