Bài 01: Regular Expression là gì?

Regular Expression 05/02/2017 03:06 861
Regular Expression viết tắt là RegEx là biểu thức chính quy được dùng để xử lý chuỗi 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.

1.Regular Expression là gì?

Regular Expression viết tắt là RegEx là biểu thức chính quy được dùng để xử lý chuỗi 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.

Nguyên tắc hoạt động của biểu thức RegEx là so khớp dựa vào khuôn mẫu mà bạn xây dựng, khuôn mẫu được xây dựng từ các quy tắc căn bản của biểu thức RegEx. Để các bạn nắm rõ regular expression hơn thì tôi sẽ giới thiệu một hàm xử lý Regular Expression trong php đó là hàm preg_match.

2. Hàm Preg_match trong php

preg_match($pattern, $subject, $matches)

  • $pattern là chuỗi Regular Expression Pattern
  • $subject là chuỗi nguồn mà chúng ta muốn so khớp với $pattern
  • $matches là danh sách kết quả trả về đúng khi so khớp $pattern và $subject

3. Khai báo một chuỗi

Để khai báo một chuỗi Regular Expression ta chỉ cần khai báo bắt đầu bằng ký tự / và kết thúc cũng là ký tự /.

Ví dụ: Partern kiểm tra trong subject có tồn tại chuỗi reg không

 $pattern = '/reg/';
 $subject = 'regex';
 if (preg_match($pattern, $subject)){
     echo 'Chuỗi regex so khớp';
 }

  Run

Kết quả trả về đúng vì trong $subject có chứa chuỗi reg nên kết quả so khớp là đúng.

Ví dụ: Kiểm tra một chuỗi có phải là một dãy số hay không.

$pattern = '/^[0-9]+$/';
$subject = '0979306603';
if (preg_match($pattern, $subject, $matches)){
    echo 'Đây là một dãy số';
}

  Run

 

Ví dụ: Kiểm tra một chuỗi là các ký tự thường

$pattern = '/^[a-z]+$/';
$subject = 'regularexpression';
if (preg_match($pattern, $subject, $maches)){
    var_dump($maches);
} 

  Run

 

4. Tổng kết

Như vậy là bạn đã tìm hiểu xong khái niệm Regular Expression hay biểu thức chính quy là gì. Trong các ngôn ngữ lập trình nói chung và PHP nói riêng thì nó là một thành phần quan trọng và được ứng dụng vào các thành phần kiểm tra dữ liệu đầu vào email, số điện thoại... bóc tin tức.

Xem Thêm

Profile photo of adminTheHalfHeart

B.V.T

Sinh ra và lớn nên ở Bắc Giang. Hiện tại thì tôi đang là một lập trình viên tại VietISO. Tôi lập website này với mục đích là bookmark những gì tôi đã đọc qua và mong muốn chia sẻ những gì tôi biết.