Cheat sheet regex
Cập nhật lần cuối
Lớp ký tự
Khớp một ký tự trong một tập hợp.
| Token | Khớp với |
|---|---|
. | Bất kỳ ký tự nào trừ ký tự xuống dòng |
\d | Bất kỳ chữ số nào (0-9) |
\D | Bất kỳ ký tự nào không phải chữ số |
\w | Ký tự từ (chữ cái, chữ số, dấu gạch dưới) |
\W | Bất kỳ ký tự nào không phải ký tự từ |
\s | Bất kỳ khoảng trắng nào (dấu cách, tab, xuống dòng) |
[abc] | Một trong các ký tự a, b hoặc c |
[a-z] | Bất kỳ chữ thường nào trong khoảng |
[^abc] | Bất kỳ ký tự nào trừ a, b hoặc c |
Lượng từ
Chỉ định token đứng trước được lặp lại bao nhiêu lần.
| Token | Khớp với |
|---|---|
* | Không hoặc nhiều lần |
+ | Một hoặc nhiều lần |
? | Không hoặc một lần (tùy chọn) |
{3} | Đúng 3 lần |
{2,4} | Từ 2 đến 4 lần |
{2,} | 2 lần trở lên |
*? | Lazy: càng ít càng tốt |
+? | Lazy: một hoặc nhiều lần, tối thiểu |
Neo và ranh giới
Khớp vị trí thay vì ký tự.
| Token | Khớp với |
|---|---|
^ | Đầu chuỗi (hoặc đầu dòng) |
$ | Cuối chuỗi (hoặc cuối dòng) |
\b | Ranh giới từ |
\B | Không phải ranh giới từ |
^abc$ | Chuỗi đúng bằng abc |
\bword\b | word là một từ hoàn chỉnh |
Nhóm và bắt nhóm
Gom các token thành nhóm và lưu lại phần khớp.
| Token | Khớp với |
|---|---|
(abc) | Nhóm bắt, lưu thành nhóm 1 |
(?:abc) | Non-capturing group |
(?<year>\d{4}) | Named capturing group year |
(ab)+ | Lặp lại cả nhóm |
\1 | Tham chiếu ngược tới nhóm 1 |
\k<year> | Tham chiếu ngược tới nhóm có tên |
Alternation
Khớp mẫu này hoặc mẫu kia.
| Token | Khớp với |
|---|---|
a|b | a hoặc b |
cat|dog | Từ cat hoặc dog |
(jpg|png|gif) | Một trong các lựa chọn, có bắt nhóm |
gr(a|e)y | gray hoặc grey |
^(yes|no)$ | Đúng yes hoặc đúng no |
Lookaround
Kiểm tra phần đứng trước hoặc sau mà không tiêu thụ nó.
| Token | Khớp với |
|---|---|
(?=abc) | Lookahead: theo sau là abc |
(?!abc) | Negative lookahead: không theo sau là abc |
(?<=abc) | Lookbehind: đứng trước là abc |
(?<!abc) | Negative lookbehind: không đứng trước là abc |
\d+(?= dollars) | Chữ số chỉ khi theo sau là dollars |
(?<=\$)\d+ | Chữ số chỉ khi đứng trước là $ |
Flag
Thay đổi cách áp dụng toàn bộ mẫu.
| Flag | Chức năng |
|---|---|
g | Global: tìm mọi kết quả khớp, không chỉ kết quả đầu tiên |
i | Không phân biệt chữ hoa chữ thường |
m | Multiline: ^ và $ khớp ở đầu và cuối mỗi dòng |
s | Dotall: . cũng khớp ký tự xuống dòng |
u | Chế độ Unicode |
x | Extended: bỏ qua khoảng trắng trong mẫu |
Các mẫu thông dụng
Những mẫu sẵn sàng để chỉnh lại cho việc kiểm tra dữ liệu hằng ngày.
| Mẫu | Khớp với |
|---|---|
^\d+$ | Một số nguyên (chỉ chữ số) |
^[\w.+-]+@[\w-]+\.[\w.-]+$ | Một địa chỉ email cơ bản |
https?:\/\/[^\s]+ | Một URL http hoặc https |
^\d{4}-\d{2}-\d{2}$ | Một ngày dạng 2026-05-27 |
^\d{3}-\d{3}-\d{4}$ | Một số điện thoại Mỹ |
^#?[0-9a-fA-F]{6}$ | Một mã màu hex 6 chữ số |
\s+ | Một hoặc nhiều ký tự khoảng trắng |
Mọi token regex bạn cần, gói gọn trong một trang. Cheat sheet regex này là bảng tra cứu nhanh để viết biểu thức chính quy (regular expression): lớp ký tự, lượng từ, neo, nhóm, phép chọn, lookaround và flag.
Cú pháp ở đây theo kiểu PCRE / JavaScript phổ biến mà hầu hết ngôn ngữ đều dùng. Sao chép một mẫu, hoặc thử ngay trong công cụ kiểm tra regex để xem chính xác nó khớp với gì, và JS playground cũng chỉ cách một cú nhấp.
Câu hỏi thường gặp về cheat sheet regex
Cheat sheet regex này có miễn phí không?
Có. Cheat sheet regex này hoàn toàn miễn phí, không cần đăng ký. Hãy lưu dấu trang và quay lại bất cứ khi nào bạn cần tra một token, lượng từ hay flag.
Lượng từ greedy và lazy khác nhau thế nào?
* và + khớp nhiều nhất có thể, rồi nhả bớt ký tự nếu phần còn lại của mẫu cần đến. Lượng từ lazy, viết bằng cách thêm ? (như *? hoặc +?), khớp ít nhất có thể và chỉ mở rộng khi buộc phải làm vậy. Ví dụ, với <a><b>, mẫu <.+> khớp tham lam cả chuỗi, còn <.+?> chỉ khớp <a>.Capture group trong regex là gì?
(\d{4}), phần văn bản nó khớp được lưu lại và đánh số để bạn dùng lại hoặc trích xuất. Bạn tham chiếu tới nó sau đó bằng tham chiếu ngược như \1, hoặc đặt tên bằng (?<year>\d{4}) cho dễ đọc. Nếu muốn gom token thành nhóm mà không bắt, hãy dùng nhóm không bắt (?:...).Có thể luyện tập regex online không?
Cheat sheet này có phù hợp cho người mới bắt đầu không?
Có. Trang được sắp xếp từ lớp ký tự và lượng từ (phần nền tảng) đến lookaround và các mẫu dựng sẵn, nên bạn có thể khớp văn bản đơn giản ngay lập tức và dần tiến tới các biểu thức nâng cao.