Bảng tra cứu Regex

Bảng tra cứu biểu thức chính quy có thể tìm kiếm: lớp ký tự, neo, lượng từ, nhóm, nhìn trước/nhìn sau, ký tự thoát, cờ và mẫu thay thế kèm ví dụ.

Lớp ký tự

.
Bất kỳ ký tự nào trừ xuống dòng (mọi ký tự khi có cờ s)
a.c → abc, a-c
\d
Một chữ số 0–9 (chỉ chữ số ASCII kể cả khi có cờ u)
\d+ → 2024
\D
Bất kỳ ký tự nào không phải chữ số
\w
Ký tự từ: A–Z, a–z, 0–9 hoặc _
\w+ → user_42
\W
Bất kỳ ký tự nào không phải ký tự từ
\s
Khoảng trắng: dấu cách, tab, xuống dòng và khoảng trắng Unicode
\S
Bất kỳ ký tự nào không phải khoảng trắng
[abc]
Một trong các ký tự được liệt kê
[aeiou] → e
[^abc]
Bất kỳ ký tự nào ngoài các ký tự được liệt kê
[a-z]
Một ký tự trong khoảng (ở đây từ a đến z)
[0-9a-f]+ → ff00
\p{L}
Bất kỳ chữ cái nào của mọi hệ chữ, kể cả chữ có dấu tiếng Việt (cần cờ u)
\p{L}+ (u) → Việt
\p{Script=Han}
Ký tự thuộc một hệ chữ, ví dụ Han, Latin, Cyrillic (cần cờ u)

Neo

^
Đầu văn bản (đầu mỗi dòng khi có cờ m)
$
Cuối văn bản (cuối mỗi dòng khi có cờ m)
\b
Ranh giới từ
\bcat\b → cat (not concat)
\B
Không phải ranh giới từ

Lượng từ

*
0 lần trở lên (tham lam)
+
1 lần trở lên (tham lam)
?
0 hoặc 1 lần (tùy chọn)
colou?r → color, colour
{n}
Đúng n lần
\d{4} → 2024
{n,}
Từ n lần trở lên
{n,m}
Từ n đến m lần
*? +? ??
Phiên bản lười: khớp ít ký tự nhất có thể
<.+?> → <b>

Nhóm và tham chiếu

(abc)
Nhóm bắt, dùng được dưới dạng $1, $2…
(?:abc)
Nhóm không bắt
(?<name>abc)
Nhóm bắt có tên
(?<y>\d{4}) → y = 2024
\1
Lặp lại đoạn văn bản mà nhóm 1 đã bắt
(\w)\1 → ll in hello
\k<name>
Lặp lại đoạn văn bản mà nhóm có tên đã bắt
a|b
Phương án bên trái hoặc bên phải
cat|dog → dog

Nhìn trước / nhìn sau

(?=abc)
Theo sau là abc (không tính vào kết quả khớp)
\d+(?=px) → 12 in 12px
(?!abc)
Không theo sau bởi abc
(?<=abc)
Đứng trước là abc (không tính vào kết quả khớp)
(?<=\$)\d+ → 5 in $5
(?<!abc)
Không đứng sau abc

Ký tự thoát

\. \* \\
Thoát ký tự đặc biệt để khớp đúng ký tự đó
\n \t \r
Xuống dòng, tab, về đầu dòng
\uFFFF
Ký tự theo mã hex 4 chữ số
\u{1F600}
Ký tự theo mã điểm (cần cờ u)

Cờ

g
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 hoa thường
m
^ và $ khớp ở đầu và cuối mỗi dòng
s
Dấu chấm khớp cả ký tự xuống dòng
u
Chế độ Unicode đầy đủ: \p{…}, \u{…}, emoji tính là một ký tự
y
Chỉ khớp tại lastIndex (sticky)
d
Trả về chỉ số bắt đầu và kết thúc của từng nhóm

Mẫu thay thế

$1
Nội dung nhóm bắt số 1
$<name>
Nội dung nhóm có tên
$&
Toàn bộ chuỗi khớp
$` $'
Đoạn trước / sau chuỗi khớp
$$
Ký tự $ thông thường

Công cụ Liên quan

Xem Tất cả

Bảng tra cứu Regex là gì?

Bảng tra cứu gọn, có thể tìm kiếm, về cú pháp biểu thức chính quy JavaScript (ECMAScript). Nội dung bao gồm lớp ký tự, ký tự thoát thuộc tính Unicode, neo, lượng từ (tham lam và lười), nhóm và tham chiếu ngược, nhìn trước và nhìn sau, ký tự thoát, cả bảy cờ và các mẫu đặc biệt dùng được trong chuỗi thay thế, kèm ví dụ ngắn.

Cách sử dụng Bảng tra cứu Regex

  1. Cuộn qua các mục, hoặc gõ vào ô tìm kiếm để lọc theo ký hiệu (ví dụ \b) hoặc theo từ trong phần mô tả (ví dụ "nhìn sau").
  2. Đọc mô tả và ví dụ dưới mỗi ký hiệu.
  3. Thử mẫu trong công cụ Kiểm thử Regex.

Ví dụ

Đầu vào
Search: \d
Đầu ra
\d – A digit 0–9 (with the u flag still only ASCII digits); \D – Any character that is not a digit

Khi nào nên dùng Bảng tra cứu Regex

Dùng công cụ khi viết regex cho JavaScript, TypeScript, Node.js và hầu hết các engine regex hiện đại. Cú pháp riêng của từng engine (lượng từ sở hữu, nhóm nguyên tử, \A, \z, bổ ngữ nội tuyến trong PCRE/Python) không được liệt kê vì JavaScript không hỗ trợ.

Bảng tra cứu Regex hoạt động như thế nào

Các mục được nhóm theo chủ đề. Ô tìm kiếm lọc những mục có ký hiệu hoặc phần mô tả đã dịch chứa văn bản bạn nhập, không phân biệt hoa thường. Phần mô tả phản ánh hành vi của ECMAScript, ví dụ \d chỉ khớp chữ số ASCII kể cả khi có cờ u, \p{…} cần cờ u, và . không khớp ký tự xuống dòng trừ khi bật cờ s.

Các Trường Hợp Sử Dụng Phổ Biến

  • Tra cú pháp của nhóm có tên hoặc nhìn sau
  • Nhớ lại công dụng của từng cờ regex
  • Kiểm tra các mẫu thay thế như $& và $<name>
  • Dạy kiến thức regex cơ bản kèm ví dụ

Câu Hỏi Thường Gặp

\w có khớp chữ có dấu không?

Không. Trong JavaScript, \w chỉ gồm A–Z, a–z, 0–9 và _. Hãy dùng \p{L} với cờ u để khớp chữ cái của mọi ngôn ngữ, kể cả tiếng Việt.

Lượng từ tham lam và lười khác nhau thế nào?

Lượng từ tham lam (*, +, {n,}) khớp càng nhiều càng tốt; thêm ? (*?, +?) khiến chúng khớp càng ít càng tốt, ví dụ <.+?> khớp một thẻ thay vì mọi thứ đến dấu > cuối cùng.

JavaScript có hỗ trợ nhìn sau (lookbehind) không?

Có, (?<=…) và (?<!…) được hỗ trợ trên mọi trình duyệt hiện đại và Node.js.

Khám phá thêm danh mục