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ì?

1. 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. Ngoài cái tên gọi Regular Expression ra thì nó còn có thể viết tắt thành RegEx.

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, 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. Và để các bạn nắm rõ regular expression là gì 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.

2. Hàm Preg_match trong php

Để hiểu rõ hơn hàm này thì bạn đọc bài hàm preg_match trong PHP nhé.

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$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ố

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

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

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 để đưa ra khuôn so sánh và những biểu thức đó có thể mô tả bằng ngôn ngữ bình thường được.

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Group Facebook để được hỗ trợ nhanh nhất.