8/12/15

Bài 01: Regular Expression Là Gì?

Đây là bài đầu tiên trong loạt bài tìm hiểu Regular Expression và trong bài này chung ta tìm hiểu khái niệm Regular Expression là gì ?
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.
Để trả lời câu hỏi regular expression là gì và để các bạn dễ theo dõi ở những bài sau thì tôi sẽ giới thiệu một hàm xử lý Regular Expression trong php đó là hàm preg_match, sau đó đưa ra một vài ví dụ nhỏ để các bạn thực hành trước khi tìm hiểu các phần nâng cao hơn.

1. Hàm Preg_match trong php

Cú pháp: preg_match($pattern$subject$matches)
Hàm này có tổng cộng 5 tham số nhưng ở đây tôi chỉ đưa ra 3 tham số quan trọng nhất và thường hay sử dụng:
  • $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
Sau đây là một số ví dụ về Regular Expression, bạn có thể xem và làm theo chứ không nhất thiết phải hiểu nó 100% vì mục đích tôi muốn các bạn hiểu được ý nghĩa của  nó.

Kiểm tra một chuỗi là số

1
2
3
if (preg_match('/^[0-9]+$/''123'$maches)){
    var_dump($maches);
}
kết quả:
array
  0 => string '123' (length=3)
Kết quả in ra màn hình là giá trị của biến $maches, như vậy chuỗi 123 đã so khớp với pattern /^[0-9]+$/

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

1
2
3
if (preg_match('/^[a-z]+$/''thehalfheart'$maches)){
    var_dump($maches);
}    
Kết quả:
array
  0 => string 'thehalfheart' (length=12)
Như vậy chuỗi thehalfheart đã được so khớp vỡi pattern /^[a-z]+$/

Kiểm tra một chuỗi là các ký tự hoa

1
2
3
if (preg_match('/^[A-Z]+$/''THEHALFHEART', $maches)){
    var_dump($maches);
}
Kết quả:
array
  0 => string 'THEHALFHEART' (length=12)
Như vậy chuỗi THEHALFHEART đã được khớp với pattern /^[A-Z]+$/

2. Lời Kết

Như vậy là bạn đã tìm hiểu xong khái niệm Regular Expression là gì và biết được một thuật ngữ khác đó là "biểu thức chính quy" nên nếu có ai hỏi thì trả lời thực chất cả hai khái niệm là một nhé.

Qua ba ví dụ trên bạn phải hiểu được Regular Expression sử dụng những biểu thức và nguyên tắc riêng để xử lý chuỗi và những biểu thức đó có thể mô tả bằng ngôn ngữ bình thường được.
Nguồn: (code.freetuts.net)
Bạn đang đọc bài viết Bài 01: Regular Expression Là Gì? tại Website: Học Lập Trình

0 nhận xét: