Trình kiểm thử biểu thức chính quy
Kiểm thử các biểu thức chính quy JavaScript trên bất kỳ đầu vào nào. Xem các kết quả khớp, nhóm và phép thay thế theo thời gian thực.
Biểu thức chính quy là gì và làm thế nào để đọc chúng?
Biểu thức chính quy (regex) là một ngôn ngữ nhỏ chuyên biệt theo lĩnh vực dùng để tìm kiếm các mẫu trong văn bản. Mọi ngôn ngữ lập trình hiện đại đều có một bộ máy regex; công cụ này dùng RegExp gốc của JavaScript, vốn tuân theo đặc tả ECMAScript 2018+ và hỗ trợ các tính năng hiện đại như khẳng định lookbehind, nhóm bắt có tên, escape thuộc tính Unicode và cờ dotAll. Các khối cơ bản: các ký tự nguyên văn khớp với chính nó (regex 'gato' khớp với từ gato); các lớp ký tự khớp với bất kỳ ký tự nào trong một tập hợp ('[a-z]' khớp với chữ thường); các bộ định lượng kiểm soát sự lặp lại (* không hoặc nhiều, + một hoặc nhiều, ? không hoặc một, {3,5} từ 3 đến 5); các neo khớp với vị trí (^ đầu chuỗi, $ cuối chuỗi, \b ranh giới từ); các nhóm bắt các kết quả khớp con ((gato|perro) khớp với bất kỳ cái nào, bắt được cái nào khớp); phép thay phiên cho phép lựa chọn. Regex tỏa sáng khi phân tích văn bản có cấu trúc nhưng không theo ngữ pháp (nhật ký, email, số điện thoại, thuộc tính HTML đơn giản) và thất bại với các cấu trúc thực sự đệ quy (HTML hoàn chỉnh, JSON lồng nhau). Với những trường hợp đó, hãy dùng một trình phân tích cú pháp. Trình kiểm thử này cho phép bạn lặp đi lặp lại trên một mẫu với phản hồi tức thì: thay đổi regex và các kết quả khớp được tính lại sau mỗi lần gõ phím.
Các trường hợp sử dụng phổ biến
Xác thực định dạng đầu vào của người dùng (email, số điện thoại, mã bưu chính) trước khi gửi đến máy chủ của bạn.
Trích xuất dữ liệu có cấu trúc từ tệp nhật ký (dấu thời gian, IP, mã trạng thái, đường dẫn yêu cầu).
Tìm-và-thay thế trên hàng trăm tệp bằng tính năng tìm kiếm regex của trình soạn thảo.
Viết quy tắc ghi lại URL cho Nginx, Apache .htaccess, hoặc rewrite của Vercel.
Phân tích các định dạng giống CSV đơn giản mà dùng trình phân tích thực sự là quá mức cần thiết.
Xây dựng mẫu xác thực biểu mẫu cho thuộc tính HTML <input pattern="...">.
Câu hỏi thường gặp
Những cờ nào được hỗ trợ?▼
Làm thế nào để khớp trên nhiều dòng?▼
Sự khác biệt giữa bộ định lượng tham lam và lười biếng là gì?▼
Khi nào tôi KHÔNG nên dùng regex?▼
Nhóm bắt có tên là gì?▼
Tại sao regex của tôi chậm với một số đầu vào nhất định?▼
Cái này có khớp với những gì bộ máy regex trên máy chủ của tôi làm không?▼
Công cụ liên quan
Bộ giải mã JWT
Giải mã JSON Web Tokens (JWT) ngay lập tức. Chạy trong trình duyệt của bạn: các token không bao giờ rời khỏi thiết bị, an toàn để dùng với các bí mật của môi trường production.
Trình định dạng và kiểm tra JSON
Định dạng, kiểm tra và thu gọn JSON trực tuyến. Hoạt động hoàn toàn trong trình duyệt của bạn: dữ liệu của bạn không bao giờ rời khỏi thiết bị.
Trình định dạng XML
Định dạng và làm đẹp các tài liệu XML. Hữu ích cho SOAP, sitemap, feed RSS và tệp cấu hình.
Bộ mã hóa và giải mã Base64
Mã hóa các chuỗi sang Base64 hoặc giải mã Base64 thành văn bản. Tôn trọng quyền riêng tư của bạn: chạy ngay trong trình duyệt.
Bộ mã hóa và giải mã URL
Chuyển đổi văn bản sang dạng mã hóa an toàn cho URL (mã hóa theo phần trăm) và ngược lại. Hữu ích cho chuỗi truy vấn, chuyển hướng và luồng OAuth.
Bộ mã hóa và giải mã thực thể HTML
Chuyển đổi các ký tự đặc biệt thành thực thể HTML (&, <, v.v.) và ngược lại. Hữu ích để nhúng văn bản vào HTML một cách an toàn.