Tóm lược. trong hướng dẫn này, bạn sẽ tìm hiểu về các biểu thức chính quy PHP và các hàm hoạt động với biểu thức chính quy bao gồm
<?php $pattern = '/\d+/';
Code language: PHP (php)1,<?php $pattern = '/\d+/';
Code language: PHP (php)2 và<?php $pattern = '/\d+/';
Code language: PHP (php)3Giới thiệu về biểu thức chính quy PHP
Các hàm chuỗi PHP cho phép bạn kiểm tra xem một chuỗi có chứa chuỗi con không (
<?php $pattern = '/\d+/';
Code language: PHP (php)4) hoặc để thay thế tất cả các lần xuất hiện của chuỗi con bằng một chuỗi khác (<?php $pattern = '/\d+/';
Code language: PHP (php)5)Tuy nhiên, các chức năng này xử lý các mẫu cố định. Chúng sẽ không hoạt động với các mẫu linh hoạt. Ví dụ: nếu bạn muốn tìm kiếm bất kỳ số nào trong một chuỗi, thì
<?php $pattern = '/\d+/';
Code language: PHP (php)6 sẽ không hoạt độngĐể tìm kiếm hoặc thay thế một chuỗi bằng một mẫu, bạn sử dụng các biểu thức chính quy
Biểu thức chính quy là một chuỗi mô tả một mẫu chẳng hạn như số điện thoại, số thẻ tín dụng và địa chỉ email
Tạo biểu thức chính quy
Để tạo một biểu thức chính quy, bạn đặt một mẫu trong dấu gạch chéo lên như thế này
'/pattern/';
Code language: PHP (php)Ví dụ
<?php $pattern = '/\d+/';
Code language: PHP (php)<?php $pattern = '/\d+/';
Code language: PHP (php)7 là một chuỗi. Ngoài ra, đó là một biểu thức chính quy khớp với một số có một hoặc nhiều chữ số. Ví dụ: nó khớp với các số 1, 20, 300, v.v.Lưu ý rằng bạn sẽ học cách tạo biểu thức chính quy linh hoạt trong hướng dẫn sau
Các dấu gạch chéo về phía trước là dấu phân cách. Dấu phân cách có thể là một trong các ký tự sau
<?php $pattern = '/\d+/';
Code language: PHP (php)8,<?php $pattern = '/\d+/';
Code language: PHP (php)9,<?php $pattern = '{\d+}';
Code language: PHP (php)0,<?php $pattern = '{\d+}';
Code language: PHP (php)1,<?php $pattern = '{\d+}';
Code language: PHP (php)2 hoặc dấu ngoặc bao gồm<?php $pattern = '{\d+}';
Code language: PHP (php)3,<?php $pattern = '{\d+}';
Code language: PHP (php)4,<?php $pattern = '{\d+}';
Code language: PHP (php)5,<?php $pattern = '{\d+}';
Code language: PHP (php)6. Niềng răng giúp cải thiện khả năng đọc của biểu thức chính quy trong một số trường hợpLưu ý rằng bạn không thể sử dụng ký tự chữ và số, nhiều byte và dấu gạch chéo ngược (
<?php $pattern = '{\d+}';
Code language: PHP (php)7) làm dấu phân cáchBiểu thức chính quy sau sử dụng dấu ngoặc nhọn làm dấu phân cách
<?php $pattern = '{\d+}';
Code language: PHP (php)Tìm kiếm chuỗi bằng biểu thức chính quy
Để tìm kiếm một chuỗi khớp với một mẫu, bạn sử dụng các hàm
<?php $pattern = '{\d+}';
Code language: PHP (php)8 và<?php $pattern = '{\d+}';
Code language: PHP (php)9Hàm preg_match() trong PHP
Để tìm kiếm dựa trên biểu thức chính quy, bạn sử dụng hàm
<?php $pattern = '/\d+/';
Code language: PHP (php)1. Ví dụ<?php $pattern = '{\d+}'; $message = 'PHP 8 was released on November 26, 2020'; if (preg_match($pattern, $message)) { echo "match"; } else { echo "not match"; }
Code language: PHP (php)đầu ra
match
Code language: PHP (php)<?php $pattern = '/\d+/';
Code language: PHP (php)1 tìm kiếm<?php $pattern = '{\d+}'; $message = 'PHP 8 was released on November 26, 2020'; if (preg_match($pattern, $message)) { echo "match"; } else { echo "not match"; }
Code language: PHP (php)2 để tìm sự trùng khớp với<?php $pattern = '/\d+/';
Code language: PHP (php)7Hàm
<?php $pattern = '/\d+/';
Code language: PHP (php)1 trả về<?php $pattern = '{\d+}'; $message = 'PHP 8 was released on November 26, 2020'; if (preg_match($pattern, $message)) { echo "match"; } else { echo "not match"; }
Code language: PHP (php)5 nếu có sự trùng khớp trong<?php $pattern = '{\d+}'; $message = 'PHP 8 was released on November 26, 2020'; if (preg_match($pattern, $message)) { echo "match"; } else { echo "not match"; }
Code language: PHP (php)2,<?php $pattern = '{\d+}'; $message = 'PHP 8 was released on November 26, 2020'; if (preg_match($pattern, $message)) { echo "match"; } else { echo "not match"; }
Code language: PHP (php)7 nếu không, hoặc<?php $pattern = '{\d+}'; $message = 'PHP 8 was released on November 26, 2020'; if (preg_match($pattern, $message)) { echo "match"; } else { echo "not match"; }
Code language: PHP (php)8 nếu không khớpĐể có được văn bản khớp với mẫu, bạn thêm tham số thứ ba vào hàm
<?php $pattern = '/\d+/';
Code language: PHP (php)1 như ví dụ sau<?php $pattern = '{\d+}'; $message = 'PHP 8 was released on November 26, 2020'; if (preg_match($pattern, $message, $matches)) { print_r($matches); }
Code language: PHP (php)đầu ra
Array ( [0] => 8 )
Code language: PHP (php)Tham số
match
Code language: PHP (php)0 chứa tất cả các kết quả phù hợp.match
Code language: PHP (php)1 lưu trữ văn bản phù hợp với mẫu. Trong ví dụ này, nó là số 8match
Code language: PHP (php)2,match
Code language: PHP (php)3, … lưu trữ các văn bản phù hợp với nhóm chụp thứ nhất, thứ hai,… —thêm về điều này trong hướng dẫn chụp nhóm<?php $pattern = '/\d+/';
Code language: PHP (php)1 chỉ trả về kết quả khớp đầu tiên và ngừng tìm kiếm ngay khi tìm thấy kết quả đầu tiên. Để tìm tất cả các kết quả phù hợp, bạn sử dụng hàm<?php $pattern = '/\d+/';
Code language: PHP (php)2Hàm preg_match_all() trong PHP
Hàm
<?php $pattern = '{\d+}';
Code language: PHP (php)9 tìm kiếm tất cả các kết quả khớp với biểu thức chính quy. Ví dụ<?php $pattern = '{\d+}'; $message = 'PHP 8 was released on November 26, 2020'; if (preg_match_all($pattern, $message, $matches)) { print_r($matches); }
Code language: PHP (php)đầu ra
Array ( [0] => Array ( [0] => 8 [1] => 26 [2] => 2020 ) )
Code language: PHP (php)Trong ví dụ này, hàm
<?php $pattern = '/\d+/';
Code language: PHP (php)3 thay thế tất cả các số trong<?php $pattern = '{\d+}'; $message = 'PHP 8 was released on November 26, 2020'; if (preg_match($pattern, $message)) { echo "match"; } else { echo "not match"; }
Code language: PHP (php)2 bằng chuỗi<?php $pattern = '{\d+}'; $message = 'PHP 8 was released on November 26, 2020'; if (preg_match($pattern, $message, $matches)) { print_r($matches); }
Code language: PHP (php)5