Công cụ kiểm tra Regex

Kiểm tra, Gỡ lỗi và Trực quan hóa Biểu thức chính quy

Trình kiểm tra Biểu thức Chính quy

//
Nhập văn bản ở trên để xem các kết quả được tô sáng tại đây

Chi tiết kết quả

Không có kết quả để hiển thị. Vui lòng nhập mẫu và văn bản kiểm tra để xem kết quả.

Regex Tester là gì?

Regex Tester (Trình kiểm tra Biểu thức Chính quy) là một công cụ giúp các nhà phát triển, nhà phân tích dữ liệu và người xử lý văn bản kiểm tra và gỡ lỗi các biểu thức chính quy. Biểu thức chính quy là các chuỗi mẫu mạnh mẽ được sử dụng để tìm kiếm, trích xuất và thao tác văn bản. Công cụ Regex Tester của chúng tôi xử lý mọi thứ ngay trên trình duyệt của bạn, đảm bảo dữ liệu của bạn không bao giờ rời khỏi thiết bị, giúp nó vừa an toàn vừa riêng tư.

Làm việc với biểu thức chính quy có thể khó khăn, đặc biệt với các mẫu phức tạp. Chúng sử dụng cú pháp đặc biệt với các ký tự đặc biệt mà lúc đầu có thể khó hiểu. Regex Tester của chúng tôi giúp quá trình này dễ dàng hơn bằng cách cung cấp phản hồi trực quan theo thời gian thực, làm nổi bật các kết quả khớp trong văn bản thử nghiệm của bạn, và hiển thị thông tin chi tiết về các nhóm bắt và vị trí khớp.

Regular Expression Tester

Tại sao nên sử dụng Regex Tester?

Biểu thức chính quy được sử dụng trong nhiều ngôn ngữ lập trình và công cụ xử lý văn bản cho mọi thứ từ xác thực dữ liệu đến các thao tác tìm kiếm và thay thế phức tạp. Dù bạn là nhà phát triển xác thực dữ liệu biểu mẫu, nhà phân tích dữ liệu làm sạch bộ dữ liệu, hay biên tập viên nội dung thực hiện các thao tác văn bản hàng loạt, Regex Tester giúp tiết kiệm thời gian và giảm lỗi bằng cách cho phép bạn hình dung và xác minh các mẫu trước khi triển khai vào mã sản xuất.

Phản hồi trực quan

Xem chính xác biểu thức chính quy của bạn khớp với gì trong thời gian thực với văn bản được làm nổi bật giúp việc nhận diện mẫu trở nên rõ ràng và trực quan.

Gỡ lỗi mẫu

Nhanh chóng xác định các vấn đề trong biểu thức chính quy của bạn bằng cách xem chính xác phần văn bản nào được khớp và phần nào không.

Nhóm bắt

Xem và kiểm tra các nhóm bắt trong mẫu regex của bạn để trích xuất các phần cụ thể của văn bản khớp cho xử lý văn bản nâng cao.

Công cụ học tập

Cải thiện kỹ năng regex của bạn bằng cách thử nghiệm với các mẫu khác nhau và ngay lập tức xem kết quả theo cách trực quan, tương tác.

Hỗ trợ cờ

Kiểm tra regex với các cờ khác nhau (toàn cục, không phân biệt chữ hoa thường, đa dòng, v.v.) để tinh chỉnh hành vi khớp mẫu cho các trường hợp sử dụng cụ thể.

Hiệu quả phát triển

Tăng tốc quy trình phát triển bằng cách nhanh chóng kiểm tra các mẫu regex trước khi triển khai chúng trong mã hoặc các thao tác xử lý văn bản.

Cách sử dụng Regex Tester này

  1. Nhập mẫu biểu thức chính quy của bạn vào trường nhập (không bao gồm dấu / bao quanh).
  2. Đặt các cờ regex bạn cần (g, i, m, v.v.) trong trường cờ.
  3. Gõ hoặc dán văn bản thử nghiệm vào khu vực thử nghiệm.
  4. Xem các phần văn bản được khớp được làm nổi bật theo thời gian thực.
  5. Kiểm tra phần Chi tiết Khớp để xem thông tin về từng kết quả khớp, bao gồm chỉ số và nhóm bắt.
  6. Sử dụng nút "Test Regex" để chạy kiểm tra thủ công nếu tính năng khớp thời gian thực bị tắt.
  7. Nhấn nút "Copy" để sao chép mẫu regex của bạn theo định dạng /pattern/flags.
  8. Thử các mẫu có sẵn cho các trường hợp phổ biến như xác thực email, URL, v.v.

Kiểm tra Regex và Quyền riêng tư

Regex Tester của chúng tôi xử lý tất cả dữ liệu ngay trên trình duyệt của bạn. Mẫu và văn bản thử nghiệm của bạn không bao giờ rời khỏi thiết bị hoặc được truyền đến bất kỳ máy chủ nào, đảm bảo quyền riêng tư và bảo mật tuyệt đối. Điều này làm cho công cụ của chúng tôi hoàn hảo để làm việc với dữ liệu nhạy cảm hoặc bí mật mà không nên chia sẻ với các dịch vụ bên thứ ba.

Ưu điểm của Regex Tester của chúng tôi

Xử lý 100% phía khách hàng

Tất cả việc kiểm tra regex diễn ra trực tiếp trong trình duyệt của bạn - dữ liệu của bạn không bao giờ rời thiết bị hoặc được gửi đến máy chủ nào.

Khớp thời gian thực

Xem các kết quả khớp regex của bạn cập nhật ngay lập tức khi bạn gõ mẫu hoặc văn bản thử nghiệm, với làm nổi bật trực quan dễ hiểu.

Hỗ trợ chế độ tối

Chọn giữa chế độ sáng và tối để xem thoải mái trong mọi môi trường hoặc thời gian trong ngày.

Hiển thị nhóm bắt

Xem rõ ràng nội dung của từng nhóm bắt, giúp việc trích xuất mẫu phức tạp trở nên dễ quản lý hơn.

Mẫu có sẵn

Truy cập các mẫu regex thường dùng cho email, URL, ngày tháng và nhiều hơn nữa để tiết kiệm thời gian và học các cách triển khai chuẩn.

Thiết kế thân thiện với di động

Giao diện hoàn toàn đáp ứng, hoạt động tốt trên mọi thiết bị từ máy tính để bàn đến điện thoại thông minh.

Hiểu về cú pháp Regex

Biểu thức chính quy sử dụng một cú pháp đặc biệt để định nghĩa các mẫu văn bản. Dưới đây là một số thành phần cơ bản:

  • Ký tự nguyên thủy: Các ký tự khớp chính nó (ví dụ, "a" khớp với ký tự "a")
  • Ký tự meta: Các ký tự có ý nghĩa đặc biệt, như . (bất kỳ ký tự nào), ^ (bắt đầu dòng), $ (kết thúc dòng)
  • Lớp ký tự: Các tập hợp như [abc] (bất kỳ ký tự a, b, hoặc c) hoặc phạm vi như [a-z] (bất kỳ chữ thường nào)
  • Bộ định lượng: Chỉ định số lần mẫu phải khớp, như * (0 hoặc nhiều), + (1 hoặc nhiều), ? (0 hoặc 1), {n} (chính xác n lần)
  • Nhóm: Mẫu được bao quanh bởi () để tạo nhóm bắt cho việc trích xuất hoặc áp dụng bộ định lượng cho nhiều ký tự
  • Phương án thay thế: Ký tự | để chỉ điều kiện "hoặc" (ví dụ, cat|dog khớp "cat" hoặc "dog")
  • Thoát ký tự: Dùng \ để thoát các ký tự đặc biệt khi bạn muốn ý nghĩa nguyên thủy của chúng
  • Cờ: Các bộ điều chỉnh như g (toàn cục), i (không phân biệt chữ hoa thường), m (đa dòng), v.v., thay đổi cách áp dụng mẫu

Các mẫu regex phổ biến:

  • Email: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
  • URL: https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)
  • Số điện thoại: \b\d{3}[-.]?\d{3}[-.]?\d{4}\b
  • Ngày (YYYY-MM-DD): \d{4}-\d{2}-\d{2}
  • Địa chỉ IP: \b(?:\d{1,3}\.){3}\d{1,3}\b

Những thách thức phổ biến với Regex

Khớp tham lam vs. không tham lam

Theo mặc định, các bộ định lượng là tham lam và khớp càng nhiều càng tốt. Thêm ? sau bộ định lượng làm nó không tham lam (lười biếng), khớp càng ít càng tốt.

Tham lam: ".+" trong "<div>Hello</div><div>World</div>"

Khớp: <div>Hello</div><div>World</div>

Không tham lam: ".+?" trong cùng văn bản

Khớp: <div>Hello</div>

Thoát các ký tự đặc biệt

Các ký tự đặc biệt như ., +, *, ?, ^, $, (, ), [, ], {, }, |, \ phải được thoát bằng dấu gạch chéo ngược (\) để khớp chính xác ký tự đó.

Để khớp example.com nguyên văn: example\.com

Để khớp 5+10=15 nguyên văn: 5\+10=15

Nhóm bắt vs. nhóm không bắt

Nhóm thông thường (dấu ngoặc đơn) bắt văn bản khớp để sử dụng sau này, trong khi nhóm không bắt (?:) nhóm các phần tử mà không bắt văn bản.

Nhóm bắt: (\w+)@(\w+\.\w+) trong [email protected]

Nhóm 1: user, Nhóm 2: example.com

Nhóm không bắt: (?:\w+)@(\w+\.\w+)

Chỉ bắt example.com

Lookahead và Lookbehind

Lookahead và lookbehind là các khẳng định không chiếm ký tự, không tiêu thụ ký tự nhưng kiểm tra những gì đứng trước hoặc sau vị trí hiện tại.

Lookahead dương: \d+(?=px) trong 12px

Khớp: 12 (số đứng trước "px")

Các ví dụ lookbehind cần xử lý đặc biệt trong JavaScript

Câu hỏi thường gặp về Biểu thức Chính quy

Biểu thức chính quy là gì và tại sao chúng hữu ích?

Biểu thức chính quy (regex) là các chuỗi văn bản đặc biệt mô tả các mẫu tìm kiếm. Chúng rất mạnh mẽ cho các tác vụ xử lý văn bản như xác thực, trích xuất, tìm kiếm và thay thế. Regex cho phép bạn định nghĩa các mẫu phức tạp với cú pháp tương đối ngắn gọn, làm cho chúng trở nên vô giá trong việc làm sạch dữ liệu, xác thực biểu mẫu, tô sáng cú pháp và nhiều ứng dụng khác.

Dữ liệu của tôi có an toàn khi sử dụng trình kiểm tra regex này không?

Có, dữ liệu của bạn hoàn toàn an toàn. Trình kiểm tra regex của chúng tôi xử lý tất cả dữ liệu ngay trên trình duyệt của bạn - không có gì được gửi đến máy chủ của chúng tôi hoặc lưu trữ ở đâu. Điều này có nghĩa là bạn có thể an tâm kiểm tra các mẫu với văn bản nhạy cảm hoặc bí mật mà không lo ngại về quyền riêng tư.

Sự khác biệt giữa các cờ regex là gì?

Các cờ regex thay đổi cách hoạt động của việc khớp mẫu. Các cờ phổ biến bao gồm: g (toàn cục, tìm tất cả các kết quả thay vì chỉ kết quả đầu tiên), i (không phân biệt chữ hoa thường), m (đa dòng, làm cho ^ và $ khớp với đầu/cuối dòng thay vì toàn bộ chuỗi), s (dot-all, làm cho . khớp cả ký tự xuống dòng), và u (Unicode, để xử lý đúng các ký tự Unicode).

Nhóm bắt hoạt động như thế nào trong biểu thức chính quy?

Nhóm bắt là các phần của mẫu được bao quanh bởi dấu ngoặc đơn (). Chúng "bắt" văn bản khớp để sử dụng hoặc trích xuất sau này. Ví dụ, trong mẫu (\w+)@(\w+\.\w+) áp dụng cho "[email protected]", nhóm đầu tiên bắt "user" và nhóm thứ hai bắt "example.com". Bạn có thể tham chiếu các nhóm này trong các mẫu thay thế hoặc trong mã của bạn.

Tại sao biểu thức chính quy của tôi không khớp như mong đợi?

Các nguyên nhân phổ biến gây ra hành vi regex không mong muốn bao gồm: không thoát các ký tự đặc biệt, nhầm lẫn giữa bộ định lượng tham lam và không tham lam, vấn đề về ranh giới (ranh giới từ, đầu/cuối dòng), hiểu sai lớp ký tự, và bỏ qua các yếu tố đa dòng hoặc Unicode. Trình kiểm tra của chúng tôi giúp bạn hình dung các kết quả khớp để xác định các vấn đề này.

Biểu thức chính quy có giống nhau trong tất cả các ngôn ngữ lập trình không?

Mặc dù cú pháp cơ bản tương tự trong hầu hết các ngôn ngữ, có sự khác biệt về các tính năng nâng cao, các cờ có sẵn và hành vi cụ thể. JavaScript, Python, Java, PHP, Ruby và các ngôn ngữ khác đều triển khai regex với những biến thể nhỏ. Trình kiểm tra của chúng tôi sử dụng triển khai của JavaScript vì nó chạy trong trình duyệt, tương thích rộng rãi với hầu hết các phương ngữ regex hiện đại.

Ý nghĩa của "index" trong kết quả khớp là gì?

Index đại diện cho vị trí bắt đầu (bắt đầu từ 0) của kết quả khớp trong chuỗi thử nghiệm. Ví dụ, nếu regex của bạn khớp một từ bắt đầu từ ký tự thứ 5 trong chuỗi thử nghiệm, index sẽ là 4 (vì đếm bắt đầu từ 0).

Regex có thể khớp các cấu trúc lồng nhau như HTML không?

Regex không phù hợp để phân tích các cấu trúc lồng nhau như HTML hoặc các ngôn ngữ lập trình. Mặc dù có thể xử lý các trường hợp đơn giản, chúng không thể xác thực hoặc phân tích đúng nội dung lồng nhau tùy ý. Đối với phân tích HTML, các bộ phân tích chuyên biệt như phương pháp DOM phù hợp hơn. Regex thích hợp nhất cho việc khớp mẫu trong các cấu trúc văn bản phẳng.

Regex Tester - Cam kết về Quyền riêng tư

Chúng tôi cam kết cung cấp một công cụ kiểm tra regex hoàn toàn tôn trọng quyền riêng tư của bạn. Công cụ của chúng tôi xử lý tất cả dữ liệu ngay trên trình duyệt của bạn - không có gì được gửi đến máy chủ, lưu trữ hoặc chia sẻ với bên thứ ba nào. Bạn có thể sử dụng công cụ này với sự tự tin hoàn toàn, biết rằng các mẫu và dữ liệu thử nghiệm của bạn luôn được giữ riêng tư và an toàn trên thiết bị của chính bạn.