Kiểm tra Regex

Thử nghiệm biểu thức chính quy trên văn bản mẫu với highlight kết quả trực tiếp.

//gi

Đầu vào

162 chars
1Khớp #1Vị trí: [26 – 46] (20 ký tự)
Khớp toàn bộ:
leninh2004@gmail.com
Nhóm bắt (Capture Groups)3
$1leninh2004
[26 – 36]
$2gmail
[37 – 42]
$3com
[43 – 46]
2Khớp #2Vị trí: [52 – 71] (19 ký tự)
Khớp toàn bộ:
contact@example.com
Nhóm bắt (Capture Groups)3
$1contact
[52 – 59]
$2example
[60 – 67]
$3com
[68 – 71]
3Khớp #3Vị trí: [75 – 106] (31 ký tự)
Khớp toàn bộ:
support@verdbench.ninhhub.id.vn
Nhóm bắt (Capture Groups)3
$1support
[75 – 82]
$2verdbench.ninhhub.id
[83 – 103]
$3vn
[104 – 106]
/([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,})/gi•162 ký tự•2 dòng
3 kết quả khớp
FAQ
Nhóm Văn bản (Text)•Tài liệu kỹ thuật & Đặc tả RFC

Tài liệu & Hướng dẫn chuyên sâu: Kiểm tra & Gỡ lỗi biểu thức chính quy (Regex Tester & Debugger)

1. Tổng quan & Nguyên lý hoạt động

Biểu thức chính quy (Regular Expression - Regex) là công cụ cực kỳ mạnh mẽ để tìm kiếm mẫu (pattern matching), trích xuất dữ liệu và xác thực định dạng chuỗi (Validation) trong hầu hết các ngôn ngữ lập trình hiện đại. Tiện ích Regex Tester của Verdbench cho phép lập trình viên thử nghiệm các mẫu RegExp theo chuẩn ECMAScript/JavaScript trong thời gian thực, trực quan hóa vị trí match, trích xuất từng nhóm bắt giữ (Capture Groups) và thử nghiệm tính năng thay thế văn bản (Replacement) với các biến tham chiếu ($1, $2) cùng thư viện mẫu thực tế tích hợp sẵn.

2. Ưu thế kiến trúc & Tính năng nổi bật

Tô màu kết quả khớp theo thời gian thực

Highlight trực tiếp từng vị trí khớp trên văn bản mẫu với chỉ số vị trí bắt đầu, kết thúc và độ dài chuỗi khớp chính xác.

Trích xuất nhóm bắt giữ (Capture Groups)

Hiển thị chi tiết từng group có tên (Named Groups) và group theo thứ tự, cho phép sao chép nhanh kết quả của từng group riêng biệt.

Hỗ trợ đầy đủ cờ tùy chọn (Flags)

Bật tắt trực quan các cờ: g (Global), i (Case-insensitive), m (Multiline), s (DotAll - dấu chấm khớp cả ký tự xuống dòng), u (Unicode).

3. Bảng tra cứu các ký tự đặc biệt & Tokens trong Regular Expressions

Cẩm nang ghi nhớ nhanh các cú pháp Regex từ cơ bản đến nâng cao cho lập trình viên:

Nhóm TokenCú pháp ví dụÝ nghĩa chức năngVí dụ khớp thành công
Lớp ký tự (Character Classes)\d, \w, \s, [a-z], [^0-9]\d = số (0-9), \w = chữ + số + _, \s = khoảng trắng. [^...] = phủ định.\d+ khớp với '2026', \w+ khớp với 'dev_forge'
Số lượng (Quantifiers)*, +, ?, {n}, {n,m}, *?* = 0 hoặc nhiều, + = 1 hoặc nhiều, ? = 0 hoặc 1, *? = chế độ lười biếng (lazy).a{2,4} khớp với 'aa', 'aaa', 'aaaa'
Neo vị trí (Anchors)^, $, \b, \B^ = đầu dòng, $ = cuối dòng, \b = ranh giới từ (word boundary).^https: khớp nếu chuỗi bắt đầu bằng 'https:'
Nhìn trước / sau (Lookaround)(?=...), (?!...), (?<=...), (?<!...)Khớp điều kiện phía trước hoặc phía sau mà không tiêu thụ ký tự vào kết quả.\d+(?=USD) khớp số đứng trước chữ USD
Nhóm bắt giữ (Groups)(abc), (?<name>abc), (?:abc)(...) = capture group, (?<name>...) = đặt tên group, (?:...) = non-capturing group.(?<year>\d{4}) tạo group có tên 'year'

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

Giải đáp các thắc mắc phổ biến của lập trình viên khi sử dụng tiện ích Kiểm tra & Gỡ lỗi biểu thức chính quy (Regex Tester & Debugger).

Theo mặc định, các lượng từ (*, +, {n,m}) hoạt động ở chế độ Greedy — chúng sẽ cố gắng khớp chuỗi dài nhất có thể. Khi thêm dấu hỏi chấm '?' phía sau (ví dụ: *? hoặc +?), lượng từ chuyển sang chế độ Lazy — nó sẽ dừng lại ngay khi tìm thấy kết quả khớp ngắn nhất đầu tiên. Ví dụ: Với chuỗi '<div>test</div>', mẫu /<.*>/ khớp toàn bộ, nhưng /<.*?>/ chỉ khớp '<div>'.