71
Chương 2: Thao tác dữ liệu
|
Ngăn cách các biểu thức có thể so trùng, ví dụ
AAA|ABA|ABB
sẽ so trùng với
AAA
,
ABA
, hoặc
ABB
(các biểu thức được so trùng từ trái sang).
[abc]
So trùng với một trong các ký tự trong nhóm, ví dụ
[AbC]
sẽ so trùng với
A
,
b
, hoặc
C
.
[^abc]
So trùng với bất cứ ký tự nào không thuộc các ký tự trong nhóm, ví dụ
[^AbC]
sẽ không so trùng với
A
,
b
, or
C
nhưng so trùng với
B
,
F
,…
[a-z]
So trùng với bất kỳ ký tự nào thuộc khoảng này, ví dụ
[A-C]
sẽ so trùng với
A
,
B
, hoặc
C
.
( )
Xác định một biểu thức con sao cho nó được xem như một yếu tố đơn lẻ
đối với các yếu tố được trình bày trong bảng này.
?
Xác định có một hoặc không có ký tự hoặc biểu thức con đứng trước nó, ví
dụ
A?B
so trùng với
B
,
AB
, nhưng không so trùng với
AAB
.
*
Xác định không có hoặc có nhiều ký tự hoặc biểu thức con đứng trước nó,
ví dụ
A*B
so trùng với
B
,
AB
,
AAB
,
AAAB
,…
+
Xác định có một hoặc có nhiều ký tự hoặc biểu thức con đứng trước nó, ví
dụ
A+B
so trùng với
AB
,
AAB
,
AAAB
,… nhưng không so trùng với
B
.
{n}
Xác định có đúng
n
ký tự hoặc biểu thức con đứng trước nó, ví dụ
A{2}
chỉ
so trùng với
AA
.
{n,}
Xác định có ít nhất
n
ký tự hoặc biểu thức con đứng trước nó, ví dụ
A{2,}
so trùng với
AA
,
AAA
,
AAAA
,… nhưng không so trùng với
A
.
{n, m}
Xác định có từ
n
đến
m
ký tự đứng trước nó, ví dụ
A{2,4}
so trùng với
AA
,
AAA
, và
AAAA
nhưng không so trùng với
A
hoặc
AAAAA
.
Khi dữ liệu cần kiểm tra càng phức tạp thì cú pháp của biểu thức chính quy cũng càng phức
tạp. Ví dụ, dễ dàng kiểm tra dữ liệu nhập chỉ chứa số hay có chiều dài tối thiểu, nhưng kiểm
tra một URL khá phức tạp. Bảng 2.3 liệt kê một số biểu thức chính quy dùng để kiểm tra các
kiểu dữ liệu thông dụng.
Bảng 2.3 Một số biểu thức chính quy thông dụng
Kiểu dữ liệu nhập
Mô tả
Biểu thức chính quy
Số
Chỉ chứa các chữ số thập phân; ví dụ
5
, hoặc
5683874674
.
^\d+$
PIN
Chứa 4 chữ số thập phân,
ví dụ
1234
.
^\d{4}$
Mật khẩu đơn giản
Chứa từ 6 đến 8 ký tự; ví dụ
ghtd6f
hoặc
b8c7hogh
.
^\w{6,8}$
Số thẻ tín dụng
Chứa dữ liệu phù hợp với cấu trúc
của hầu hết các loại số thẻ tín dụng,
ví dụ
4921835221552042
hoặc
4921-
8352-2155-2042
.
^\d{4}-?\d{4}-?\d{4}- ?
\d{4}$