TL
Tool Lab
💰Donate
💰Donate

Tham Khảo Regex

Hướng dẫn tham khảo nhanh về cú pháp regex: lớp ký tự, neo, lượng từ, nhóm, cờ và các mẫu phổ biến.

Lớp ký tự

.Any character except newline
\wWord character [a-zA-Z0-9_]
\WNon-word character
\dDigit [0-9]
\DNon-digit
\sWhitespace (space, tab, newline)
\SNon-whitespace
[abc]Character class — a, b, or c
[^abc]Negated class — not a, b, or c
[a-z]Range — any lowercase letter
[a-zA-Z0-9]Alphanumeric characters

Neo

^Start of string (or line with multiline)
$End of string (or line with multiline)
\bWord boundary
\BNon-word boundary
\AStart of string (not multiline)
\ZEnd of string (not multiline)

Lượng từ

*Zero or more (greedy)
+One or more (greedy)
?Zero or one (greedy)
{n}Exactly n times
{n,}n or more times
{n,m}Between n and m times
*?Zero or more (lazy/non-greedy)
+?One or more (lazy/non-greedy)
??Zero or one (lazy/non-greedy)

Nhóm & Lựa chọn

(abc)Capture group
(?:abc)Non-capturing group
(?P<name>abc)Named capture group
a|bAlternation — a or b
(?=abc)Positive lookahead
(?!abc)Negative lookahead
(?<=abc)Positive lookbehind
(?<!abc)Negative lookbehind

Thoát & Ký tự đặc biệt

\nNewline
\tTab
\rCarriage return
\0Null character
\uXXXXUnicode character (hex)
\.Literal dot (escaped)
\\Literal backslash

Cờ

gGlobal — find all matches
iCase-insensitive
mMultiline — ^ and $ match line start/end
sDotall — . matches newline
uUnicode — treat pattern as Unicode
ySticky — match from lastIndex

Mẫu phổ biến

^[\w.-]+@[\w.-]+\.\w{2,}$Email address
https?://[\w./%-]+URL (basic)
^\d{1,3}(\.\d{1,3}){3}$IPv4 address
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$Hex color
^\d{4}-\d{2}-\d{2}$ISO date (YYYY-MM-DD)
^[+]?[\d\s()-]{7,15}$Phone number (basic)
^(?=.*[A-Z])(?=.*\d).{8,}$Password: 8+ chars, 1 uppercase, 1 digit

Giới thiệu công cụ

Biểu thức chính quy (regex) là ngôn ngữ mạnh mẽ để mô tả các mẫu trong chuỗi. Tài liệu này bao gồm cú pháp và mẫu được sử dụng phổ biến nhất.

Các phần được tổ chức theo danh mục. Sử dụng hộp tìm kiếm để lọc mẫu theo từ khóa.

Cách sử dụng

  1. Duyệt qua các phần để tìm cú pháp bạn cần.
  2. Sử dụng tìm kiếm để lọc theo từ khóa.
  3. Nhấp vào bất kỳ mẫu nào để sao chép vào clipboard.
  4. Kiểm tra mẫu trong công cụ Regex Tester.

Trường hợp sử dụng

Hữu ích cho xác thực biểu mẫu, phân tích chuỗi, phân tích log, tìm kiếm và thay thế và nhiều tác vụ lập trình khác.

Câu hỏi thường gặp

  • Cú pháp regex có hoạt động trong tất cả ngôn ngữ không?Hầu hết các ngôn ngữ hỗ trợ regex nhưng có sự khác biệt nhỏ về cú pháp. Các ngôn ngữ chính như JavaScript, Python, Java đều theo cú pháp tương thích PCRE.
  • Làm thế nào để tìm kiếm không phân biệt chữ hoa/thường?Thêm cờ i sau mẫu. Ví dụ: /pattern/i
  • Sự khác biệt giữa lượng từ tham lam và lười biếng là gì?Lượng từ tham lam (*, +, ?) khớp nhiều nhất có thể; lười biếng (*?, +?, ??) khớp ít nhất có thể.