Intro - No stand alone

Regex tester online — kiểm tra và debug Regular Expression theo thời gian thực

Admin
May 31, 2026
7 phút đọc
5

Có một câu đùa quen thuộc trong giới lập trình: "Bạn có một vấn đề, bạn dùng regex để giải quyết — bây giờ bạn có hai vấn đề." Regex (Regular Expression) nổi tiếng là mạnh nhưng khó đọc, dễ sai, và debug rất mệt nếu không có công cụ hỗ trợ. Tool Regex Tester này giúp bạn viết, kiểm tra và debug regex theo thời gian thực — thấy ngay match ở đâu, group nào bắt được gì, không cần chạy code.

Regular Expression (Regex) là gì?

Regular Expression — gọi tắt là regex hoặc regexp — là một chuỗi ký tự đặc biệt định nghĩa một pattern (mẫu) để tìm kiếm, so khớp hoặc thao tác với chuỗi văn bản. Regex được hỗ trợ trong hầu hết mọi ngôn ngữ lập trình: JavaScript, Python, PHP, Java, Go, Ruby…

Ví dụ đơn giản: pattern \d{3}-\d{4} sẽ khớp với số điện thoại dạng 123-4567. Pattern [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} là regex kiểm tra email — trông phức tạp nhưng có logic rất rõ ràng khi được "dịch" từng phần.

Regex được dùng để: validate dữ liệu đầu vào (email, số điện thoại, mật khẩu), tìm kiếm và thay thế text, extract thông tin từ log file, parse chuỗi có cấu trúc, và nhiều hơn thế.

Cú pháp regex cơ bản cần biết

Ký hiệuÝ nghĩaVí dụ
.Bất kỳ ký tự nào (trừ xuống dòng)a.c khớp "abc", "a1c", "a-c"
*0 hoặc nhiều lần lặpab*c khớp "ac", "abc", "abbc"
+1 hoặc nhiều lần lặpab+c khớp "abc", "abbc" nhưng không khớp "ac"
?0 hoặc 1 lần (tùy chọn)colou?r khớp cả "color" và "colour"
{n}Đúng n lần\d{4} khớp đúng 4 chữ số
{n,m}Từ n đến m lần\d{2,4} khớp 2, 3 hoặc 4 chữ số
[abc]Một trong các ký tự trong ngoặc[aeiou] khớp một nguyên âm bất kỳ
[^abc]Ký tự KHÔNG nằm trong ngoặc[^0-9] khớp ký tự không phải số
^Bắt đầu chuỗi (hoặc dòng)^Hello chỉ khớp nếu chuỗi bắt đầu bằng "Hello"
$Kết thúc chuỗi (hoặc dòng)world$ chỉ khớp nếu chuỗi kết thúc bằng "world"
(abc)Capturing group — bắt nhóm(\d{4})-(\d{2}) bắt năm và tháng riêng
(?:abc)Non-capturing group — nhóm không bắtNhóm logic mà không lưu kết quả
a|bHoặc — a hoặc bcat|dog khớp "cat" hoặc "dog"
\dChữ số (0-9)Tương đương [0-9]
\wKý tự chữ-số-gạch dướiTương đương [a-zA-Z0-9_]
\sKhoảng trắng (space, tab, newline)Dùng để tìm/xoá whitespace thừa

Regex flags — điều chỉnh cách hoạt động

FlagTênTác dụng
gGlobalTìm tất cả match, không dừng ở match đầu tiên
iCase-insensitiveKhông phân biệt chữ hoa/thường: /hello/i khớp cả "Hello", "HELLO"
mMultiline^$ áp dụng cho từng dòng, không chỉ đầu/cuối toàn chuỗi
sDotallDấu . khớp cả ký tự xuống dòng
uUnicodeXử lý chuỗi Unicode đúng cách, cần thiết khi làm việc với tiếng Việt, emoji…

Cách sử dụng Regex Tester

  • Bước 1: Nhập regex pattern vào ô Pattern — không cần thêm dấu / bao quanh.
  • Bước 2: Chọn flags phù hợp: g để tìm tất cả, i để không phân biệt hoa/thường…
  • Bước 3: Dán văn bản cần test vào ô Test String — các đoạn khớp sẽ được highlight ngay lập tức.
  • Bước 4: Xem chi tiết các MatchCapturing Groups ở phần kết quả bên dưới.

Mọi thứ hoạt động real-time — chỉnh pattern là kết quả cập nhật ngay, không cần nhấn nút.

Ví dụ regex thực tế hay dùng

Mục đíchRegex pattern
Validate địa chỉ email^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$
Validate số điện thoại Việt Nam^(0|\+84)(3|5|7|8|9)\d{8}$
Validate URL (http/https)^https?:\/\/[\w.-]+(:\d+)?(\/.*)?$
Tìm tất cả số trong chuỗi\d+ với flag g
Xoá khoảng trắng đầu và cuối^\s+|\s+$ replace với ""
Validate mật khẩu (8+ ký tự, có hoa, thường, số)^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$
Tìm thẻ HTML<[^>]+>
Extract ngày dạng DD/MM/YYYY(\d{2})\/(\d{2})\/(\d{4})

Lỗi thường gặp khi viết regex

  • Quên escape ký tự đặc biệt: Các ký tự . * + ? ( ) [ ] { } ^ $ | \ đều có ý nghĩa đặc biệt trong regex. Để match nghĩa đen của chúng, phải escape bằng \. Ví dụ: muốn match dấu chấm thật phải viết \., không phải ..
  • Greedy vs Lazy matching: Mặc định regex là "greedy" — cố match càng nhiều càng tốt. <.+> trên chuỗi <a>text</a> sẽ match toàn bộ từ <a> đến </a>. Thêm ? để lazy: <.+?> chỉ match từng thẻ riêng lẻ.
  • Quên flag g: Không có flag global, regex chỉ trả về match đầu tiên — gây nhầm lẫn khi bạn muốn tìm tất cả.
  • Anchoring sai: Pattern \d+ khớp số ở bất kỳ đâu trong chuỗi. Nếu muốn validate chuỗi chỉ gồm số, phải dùng ^\d+$.

Kết luận

Regex là một trong những kỹ năng "siêu năng lực" của developer — học một lần, dùng được mọi ngôn ngữ, giải quyết được vô số bài toán xử lý chuỗi. Cái khó nhất là giai đoạn đầu khi nhìn pattern mà không biết nó đang làm gì. Tool Regex Tester này chính là người đồng hành trong giai đoạn đó — test nhanh, xem kết quả ngay, hiểu từng phần.

Khám phá thêm các tool hữu ích tại codetuthub.com/tools.

Toàn Nguyễn
Toàn NguyễnTác giả

Tác giả tại CodeTutHub

Xin chào, mình là Toàn 👋
Là Senior Full-Stack Developer ở HCM, đồng thời là người đứng sau CodeTutHub. Mình viết về những gì mình thực sự dùng hàng ngày — từ Laravel, Next.js, đến cách workflow lập trình với AI agents như Claude Code và Cursor.
Nếu bạn thấy bài này hữu ích, hãy subscribe newsletter hoặc kết nối với mình. Mình luôn sẵn sàng thảo luận về dự án thú vị, cơ hội remote, hoặc đơn giản là chat về tech.
Ho Chi Minh City · Open for collaboration

0 Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!
Đang trả lời
Xoá bình luận

Bạn có chắc muốn xoá bình luận này?
Hành động này không thể hoàn tác.

Thông báo hệ thống
Thông tin