Tan Phat Media

Regex Tester

Test và debug Regular Expression trực tiếp

Pattern
//
Test String
Kết quả Highlight
...
Matches (0)

Không có kết quả match

Flags

g - Global (tìm tất cả)

i - Case insensitive

m - Multiline

s - Dotall (. match newline)

Regex Tester - Công Cụ Test Regular Expression Online Miễn Phí Cho Developers

Công cụ test Regular Expression (Regex) online miễn phí của Tấn Phát Digital dành cho developers. Test và debug regex patterns realtime với syntax highlighting. Highlight tất cả matches trong test string với màu sắc rõ ràng. Hỗ trợ đầy đủ JavaScript regex flags: g (global), i (case insensitive), m (multiline), s (dotall). Hiển thị danh sách tất cả matches với index và captured groups. 10+ preset regex patterns phổ biến: Email, Phone Vietnam, URL, IP Address, Date, Credit Card. Hiển thị lỗi cú pháp regex với message chi tiết. Copy pattern với một click. Xử lý 100% trên trình duyệt. Hữu ích cho validation, data extraction, search & replace.

Tính năng nổi bật

Test regex patterns realtime - kết quả cập nhật khi gõ
Syntax highlighting cho regex pattern
Highlight tất cả matches trong test string
Màu sắc khác nhau cho từng match group
Hỗ trợ flag g (global) - tìm tất cả matches
Hỗ trợ flag i (case insensitive) - không phân biệt hoa thường
Hỗ trợ flag m (multiline) - ^ $ match đầu/cuối mỗi dòng
Hỗ trợ flag s (dotall) - . match cả newline
Hiển thị danh sách matches với index positions
Hiển thị captured groups cho mỗi match
10+ preset patterns: Email, Phone, URL, IP, Date...
Hiển thị lỗi cú pháp với error message
Copy regex pattern với một click
Match count statistics
Xử lý offline - không gửi data lên server
Hoàn toàn miễn phí, không giới hạn

Regular Expression là gì và tại sao developers cần?

Regular Expression (Regex) là ngôn ngữ để mô tả text patterns. Nó là công cụ cực kỳ mạnh mẽ được sử dụng trong hầu hết ngôn ngữ lập trình. Ứng dụng phổ biến: Validation - kiểm tra email, phone, URL, password có đúng format không. Data extraction - lấy tất cả emails từ một văn bản, extract numbers từ string. Search & Replace - tìm và thay thế theo pattern phức tạp. Parsing - phân tích log files, CSV, HTML. Filtering - lọc data theo điều kiện phức tạp. Tại sao cần Regex Tester? Regex syntax phức tạp và dễ sai. Một ký tự sai có thể thay đổi hoàn toàn kết quả. Tool này giúp bạn: Test pattern trước khi dùng trong code. Debug tại sao regex không match như mong đợi. Học regex bằng cách thử nghiệm. Verify edge cases với nhiều test strings.

Lợi ích khi sử dụng

  • Debug regex nhanh chóng với visual feedback
  • Học regex hiệu quả bằng thử nghiệm
  • Tiết kiệm thời gian so với test trong code
  • Phát hiện edge cases trước khi deploy
  • Presets giúp bắt đầu nhanh với patterns phổ biến
  • Hiểu captured groups với highlighting
  • Không cần setup environment để test
  • Share patterns với team dễ dàng

Cách test Regular Expression online

  1. 1Nhập regex pattern vào ô 'Pattern' (không cần /.../ delimiters)
  2. 2Chọn flags cần thiết: g (global), i (ignore case), m (multiline), s (dotall)
  3. 3Nhập text cần test vào ô 'Test String'
  4. 4Xem matches được highlight trong test string
  5. 5Xem danh sách matches với index và captured groups
  6. 6Nếu có lỗi syntax, đọc error message để fix
  7. 7Sử dụng Presets để load patterns phổ biến
  8. 8Điều chỉnh pattern và test lại cho đến khi đúng
  9. 9Copy pattern để dùng trong code của bạn

Regex Cheat Sheet - Các ký tự đặc biệt quan trọng

Character classes: . (any char), \d (digit), \w (word char), \s (whitespace), [abc] (a or b or c), [^abc] (not a, b, c), [a-z] (range). Quantifiers: * (0+), + (1+), ? (0 or 1), {n} (exactly n), {n,} (n+), {n,m} (n to m). Anchors: ^ (start), $ (end), \b (word boundary). Groups: (abc) (capture group), (?:abc) (non-capture), (?=abc) (lookahead), (?!abc) (negative lookahead). Escaping: \. \* \+ \? \^ \$ \{ \} \[ \] \\ \| \( \) để match literal characters.

Regex patterns phổ biến cho validation

Email: ^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$ - basic email validation. Phone Vietnam: ^(0|\+84)[0-9]{9,10}$ - số điện thoại VN. URL: ^https?:\/\/[\w.-]+\.[a-zA-Z]{2,}.*$ - HTTP/HTTPS URLs. IP Address: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ - IPv4. Date (DD/MM/YYYY): ^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/\d{4}$ Password strong: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$ - min 8 chars, upper, lower, number, special.

Câu hỏi thường gặp (FAQ)

Flag g và i khác nhau thế nào?

Flag 'g' (global): Tìm TẤT CẢ matches trong string, không chỉ match đầu tiên. Không có g, regex dừng sau match đầu tiên. Flag 'i' (case insensitive): Không phân biệt chữ hoa/thường. /hello/i match 'Hello', 'HELLO', 'hElLo'. Có thể kết hợp: /hello/gi tìm tất cả 'hello' không phân biệt hoa thường.

Làm sao escape ký tự đặc biệt trong regex?

Các ký tự đặc biệt cần escape bằng backslash \: . * + ? ^ $ { } [ ] \ | ( ). Ví dụ: Match dấu chấm: \. (không phải . vì . match any char). Match $100: \$100. Match (text): \(text\). Match backslash: \\ (cần 2 backslashes). Trong JavaScript string, cần double escape: '\\d' để có regex \d.

Regex có giống nhau ở mọi ngôn ngữ không?

Cú pháp cơ bản giống nhau, nhưng có differences giữa các 'flavors': JavaScript: Không có lookbehind (ES2018 mới có), không có named groups (ES2018). Python: Có named groups (?P<name>...), verbose mode. PCRE (PHP, Perl): Đầy đủ features nhất. Java: Cần double escape trong strings. Tool này dùng JavaScript regex engine. Nếu dùng ngôn ngữ khác, verify lại trong environment đó.

Greedy vs Lazy quantifiers là gì?

Greedy (mặc định): Match càng nhiều càng tốt. /.+/ trên 'aaa' match cả 'aaa'. Lazy (thêm ?): Match càng ít càng tốt. /.+?/ trên 'aaa' match 'a'. Ví dụ quan trọng: /<.+>/ trên '<div>text</div>' match cả '<div>text</div>' (greedy). /<.+?>/ match chỉ '<div>' rồi '</div>' (lazy). Dùng lazy khi muốn match shortest possible.

Captured groups dùng để làm gì?

Captured groups (parentheses) có 2 mục đích: Grouping: (ab)+ match 'ab', 'abab', 'ababab'. Capturing: Lưu matched text để dùng sau. Trong replace: $1, $2 reference groups. Trong code: match[1], match[2]. Ví dụ: /(\d{2})\/(\d{2})\/(\d{4})/ match date và capture day ($1), month ($2), year ($3). Non-capturing group (?:...) chỉ grouping, không capture.

Lookahead và Lookbehind là gì?

Lookahead (?=...): Match nếu followed by pattern, nhưng không include trong match. /\d+(?=px)/ match '100' trong '100px' nhưng không match '100' trong '100em'. Negative lookahead (?!...): Match nếu NOT followed by pattern. /\d+(?!px)/ match '100' trong '100em'. Lookbehind (?<=...) và (?<!...): Tương tự nhưng check phía trước. JavaScript ES2018+ mới support lookbehind.

Tại sao regex của tôi không match như mong đợi?

Common issues: Quên flag g - chỉ match lần đầu. Quên escape special chars - . match any char, không phải literal dot. Greedy matching - .* match quá nhiều. Anchors - thiếu ^ $ nên match substring. Whitespace - \s không match trong string. Case sensitivity - quên flag i. Debug: Thêm/bớt từng phần của pattern để isolate issue. Dùng tool này để visualize matches.

Regex có performance issues không?

CÓ, regex có thể rất chậm nếu viết không tốt. Catastrophic backtracking: Patterns như (a+)+ trên input 'aaaaaaaaaaaaaaaaaaaaaaab' có thể freeze browser. Nguyên nhân: Nested quantifiers với overlapping possibilities. Giải pháp: Tránh nested quantifiers. Dùng atomic groups hoặc possessive quantifiers (nếu supported). Test với long inputs trước khi deploy. Set timeout cho regex operations.

Từ khóa liên quan

regex testerregular expression testertest regex onlineregex debuggerregex validatorregex pattern testerjavascript regex testerregex checkerregex match testerkiểm tra regex

Hợp tác ngay với Tấn Phát Digital

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.

Zalo
Facebook
Tấn Phát Digital
Zalo
Facebook