Nhảy tới nội dung
Phiên bản: 1.0.0

Biểu thức chính quy

Định nghĩa​

Regular Expression hay còn gọi là biểu thức chính quy được dùng để xử lý chuỗi nâng cao thông qua biểu thức riêng của nó, những biểu thức này sẽ có những nguyên tắc riêng và bạn phải tuân theo nguyên tắc đó thì biểu thức của bạn mới hoạt động được

Các ký tự thường dùng​

Ký tựMô tả
.Khớp với bất kỳ ký tự nào.
^regexKhớp tại điểm bắt đầu.
regex$Khớp tại điểm kết thúc.
[abc]Có thể khớp với bất kỳ ký tự nào trong cặp dấu []. Có thể khớp với a hoặc b hoặc c.
[abc][xy]Thiết lập định nghĩa, có thể khớp với a hoặc b hoặc c và theo sau là x hay y.
[^abc]Khi dấu ^ xuất hiện như là nhân vật đầu tiên trong dấu ngoặc vuông, nó phủ định lại các pattern còn lại. Điều này có thể khớp với bất kỳ ký tự nào ngoại trừ a hoặc b hoặc c.
()Xác định group (biểu thức con) xem như nó là một yếu tố đơn lẻ trong pattern .ví dụ ((a(b))c) sẽ khớp với b, ab, abc.
[a-d1-7]Phạm vi: phù hợp với một chuỗi giữa a – d và các số từ 1 đến 7
X | ZTìm X hoặc Z.
XZTìm X và theo sau là Z.
\dSố bất kỳ, viết ngắn gọn cho [0-9]
\DKý tự không phải là số, viết ngắn gon cho [^0-9]
\sKý tự khoảng trắng, viết ngắn gọn cho [ \t\n\x0b\r\f]
\SKý tự không phải khoản trắng, viết ngắn gọn cho [^\s]
\wKý tự chữ, viết ngắn gọn cho [a-zA-Z_0-9]
\WKý tự không phải chữ, viết ngắn gọn cho [^\w]
\S+Một số ký tự không phải khoảng trắng (một hoặc nhiều).
\bKý tự thuộc a-z hoặc A-Z hoặc 0-9 hoặc _, viết ngắn gọn cho [a-zA-Z0-9].
*Xuất hiện 0 hoặc nhiều lần, viết ngắn gọn cho {0,}. Ví dụ A*B khớp với B, AB, AAB
+Xuất hiện 1 hoặc nhiều lần, viết ngắn gọn cho {1,}. Ví dụ A+B khớp với AB, AAB
?Xuất hiện 0 hoặc 1 lần, ? viết ngắn gọn cho {0,1}. Ví dụ A?B sẽ khớp với B hay AB.
{X}Xuất hiện X lần. Ví dụ A{2} khớp đúng với chữ A
{X, }Xuất hiện X lần trở lên. Ví dụ A{2} khớp vói AA, AAA, AAAA …
{X,Y}Xuất hiện trong khoảng X tới Y lần. Ví dụ A{2,4} khớp vói AA,AAA,AAAA
*?* có nghĩa là xuất hiện 0 hoặc nhiều lần, thêm ? phía sau nghĩa là tìm kiếm khớp nhỏ nhất.
Ký tựMô tả

Các ký tự logic trong biểu thức chính quy​

RegexMô tảPatternVí dụ
|Hoặc22|3333
( … )Group các ký tự và chụp lạiA(nt|pple)Ant, Apple
\1Nội dung của Group 1r(\w)g\1xregex
\2Nội dung của Group 2(\d\d)\+(\d\d)=\2\+\112+65=65+12
(?: … )Group không được chụp lại, bạn không thể sử dụng \1A(?:nt|pple)Ant, Apple

Các biểu thức chính quy thường dùng​