Biểu thức chính quy
(regular expression)
Không có gì hơn là một mẫu, một chuỗi kí tự có quy tắc.
Nghĩa Thân Văn
Sử dụng REGEX để?
-
tìm kiếm 1 chuỗi trong chuỗi khác
-
Thay thế một chuỗi bằng chuỗi khác
-
Tách mỗi chuỗi ra thành nhiều miểng.
POSIX regular expression
Bracket
Ngoặc vuông
(Quy định khoảng giới hạn kí tự)
| Expression | Mô tả |
|---|---|
| [0-9] | các số từ 0->9 |
| [a-z] | các chữ thường a->z |
| [A-Z] | các chữ viết hoa A->Z |
| [a-Z] | tất cả chữ hoa thường |
-
+
-
*
-
?
-
{int.range}
-
$
| Expression | Điều kiện đúng |
|---|---|
| p+ | Mọi kí tự có chứa ít nhất 1 chữ p. |
| p* | Mọi kí tự kể cả không có p. |
| p? | Tương tự như p*. |
| p{N} | Phải có N chữ p. |
| p{2,6} | Có 2 đến 6 chữ p nằm cạnh nhau. |
| p{2, } | Chuỗi có ít nhất 2 chữ p cạnh nhau. |
| p$ | đúng khi có chữ p ở cuối cùng |
| ^p | đúng khi có chữ p ở đầu chuỗi |
Ví dụ nhé!!!
| Biểu thức | Điều kiện đúng |
|---|---|
| [^a-zA-Z] | Đúng với tất các chuỗi không chứa các chữ từ a-z và A-Z |
| p.p | Chứa p và kí tự bất kì rồi lại là chữ p. ví dụ: php, pepperoni pizza |
| ^.{2}$ | Bất kì chuỗi nào chỉ có 2 kí tự. |
| <b>(.*)</b> | Bất kì chuỗi nào nằm trong cặp thẻ <b> |
| p(hp)* | Đúng với chuỗi mà có chữ p mà theo sao là 1 dãy các hp.. ví dụ: php, phphp, phppp ... |
Character range
| Biểu thức | Điều kiện đúng |
|---|---|
| [[:alpha:]] | Đúng với tất các chuỗi chứa ít nhất một chữ từ a-z và A-Z |
| [[:digit:]] | Đúng với chuỗi chứa ít nhất 1 kí tự là số từ 0-9 |
| [[:alnum:]] | Đúng với chuoix chứa ít nhất 1 kí tự là a-z, A-Z hoặc 0-9 |
| [[:space:]] | Bất kì chuỗi chứa dấu cách |
PERL Regex
| Expression | Điều kiện đúng |
|---|---|
| . | kí tự đơn lẻ |
| \s | Space : dấu cách, tab, dòng mới |
| \S | Ngược của \s |
| \d | digital : số 0-9 |
| \D | Không phải là số |
| \w | word characters : a-z,0-9,_ |
| \W | Ngược lại của \w |
| [ueoai] | chỉ phù hợp với những bé quy định |
| [^ueoai] | phù hợp với các bé khác quy đinh |
| ^[a|b|c]$ | hoặc các trường hợp a, b , c. |
| Các hàm | Ý nghĩa |
|---|---|
| preg_match | Mọi kí tự có chứa ít nhất 1 chữ p. |
| p* | Mọi kí tự kể cả không có p. |
| p? | Tương tự như p*. |
| p{N} | Phải có N chữ p. |
| p{2,6} | Có 2 đến 6 chữ p nằm cạnh nhau. |
| p{2, } | Chuỗi có ít nhất 2 chữ p cạnh nhau. |
| p$ | đúng khi có chữ p ở cuối cùng |
| ^p | đúng khi có chữ p ở đầu chuỗi |
Xin chào vào hẹn gặp lại!!!!
Biểu thức chính quy
By nghiatv
Biểu thức chính quy
- 149