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
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.
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.
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 Token | Cú pháp ví dụ | Ý nghĩa chức năng | Ví 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).