Debug và test Regular Expressions
g - Global
Tìm tất cả matches, không dừng ở match đầu tiên
i - Case Insensitive
Không phân biệt hoa thường
m - Multiline
^ và $ match đầu/cuối mỗi dòng
s - Dotall
. match cả newline
Công cụ debug và test Regular Expressions (Regex) online miễn phí. Real-time matching với highlighting trực quan - thấy ngay matches khi gõ. Hiển thị tất cả capture groups với index. Toggle flags dễ dàng: global (g), case-insensitive (i), multiline (m), dotall (s). Có sẵn examples cho email, phone, URL, IP. Copy pattern với flags. Xử lý hoàn toàn trên browser - pattern và data không gửi lên server. Hữu ích cho developers khi viết và debug regex cho validation, parsing, text processing.
Regular Expressions (Regex) là công cụ mạnh mẽ để pattern matching và text processing, nhưng cũng nổi tiếng khó viết và debug. Một regex phức tạp có thể mất hàng giờ để viết đúng. Regex Debugger giúp bạn: Thấy ngay matches khi gõ - không cần chạy code để test. Hiểu regex hoạt động thế nào với highlighting. Debug capture groups - xem chính xác mỗi group capture được gì. Test với nhiều inputs khác nhau nhanh chóng. Học regex - xem examples và thử nghiệm. Công cụ này đặc biệt hữu ích khi viết regex cho form validation (email, phone, password), parsing logs, extracting data từ text, hoặc search & replace phức tạp.
Flags thay đổi cách regex hoạt động: g (global) - tìm tất cả matches, không dừng ở match đầu tiên. i (case-insensitive) - không phân biệt chữ hoa/thường, 'A' match 'a'. m (multiline) - ^ và $ match đầu/cuối mỗi dòng, không chỉ đầu/cuối string. s (dotall) - dấu . match cả newline character. Thường dùng: gi cho search all case-insensitive, g cho replace all.
Capture groups là phần pattern trong ngoặc đơn (). Khi regex match, nội dung match bởi mỗi group được 'capture' và có thể truy cập riêng. Ví dụ: pattern '(\d{2})/(\d{2})/(\d{4})' match '25/12/2024' sẽ capture $1='25', $2='12', $3='2024'. Groups hữu ích để extract parts của match hoặc dùng trong replacement.
Các lỗi phổ biến: Quên escape special characters (. * + ? ^ $ cần \). Thiếu flag g nên chỉ match lần đầu. Pattern quá strict (dùng ^ $ khi không cần). Không tính đến whitespace. Character class sai ([a-Z] không valid, phải [a-zA-Z]). Dùng tool này để debug từng bước.
Bật flag m (multiline). Khi đó ^ match đầu mỗi dòng (không chỉ đầu string), $ match cuối mỗi dòng. Nếu muốn . match cả newline, bật thêm flag s (dotall). Hoặc dùng [\s\S] thay cho . để match mọi character kể cả newline.
Có. Regex phức tạp với nhiều backtracking có thể rất chậm (catastrophic backtracking). Tránh nested quantifiers như (a+)+. Tránh .* khi có thể dùng pattern cụ thể hơn. Test với input lớn để đảm bảo performance. Tool này chạy trên browser nên bạn sẽ thấy ngay nếu regex quá chậm.
JavaScript regex có một số khác biệt: Không có lookbehind trong ES5 (có từ ES2018). Không có named groups trong ES5 (có từ ES2018). Flag s (dotall) chỉ có từ ES2018. Không có x flag (verbose). Nếu dùng regex này trong Python, PHP, Java, có thể cần adjust syntax.
Special characters trong regex: . * + ? ^ $ { } [ ] \ | ( ). Để match literal character, thêm \ phía trước. Ví dụ: match dấu chấm dùng \., match dấu $ dùng \$. Trong JavaScript string, \ cũng là escape character nên cần \\. Ví dụ: new RegExp('\\d+') hoặc /\d+/.
Non-capturing group (?:...) group pattern mà không capture. Hữu ích khi cần group để apply quantifier nhưng không cần extract value. Ví dụ: (?:https?://)? match optional http:// hoặc https:// mà không tạo capture group. Giúp giữ $1, $2 cho các groups quan trọng.
Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.