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!!!!

Made with Slides.com