Pemadanan corak ialah operasi yang sangat biasa dalam bahasa pengaturcaraan moden. Ia digunakan untuk mencari bahagian rentetan yang sepadan dengan peraturan tertentu. Dalam PHP, ungkapan biasa sangat mudah untuk padanan corak. Dalam artikel ini, kami akan membincangkan padanan corak menggunakan PHP dan ungkapan biasa.
Pertama, kita perlu memahami apa itu ungkapan biasa. Ungkapan biasa ialah bahasa yang digunakan untuk padanan corak. Ia boleh digunakan untuk mencari, menggantikan, mengesahkan dan mengekstrak bahagian tertentu rentetan. Ungkapan biasa terdiri daripada beberapa aksara dan aksara khas. Aksara ini digunakan untuk memadankan rentetan.
Dalam PHP, kita boleh menggunakan fungsi preg_match() untuk melaksanakan padanan ungkapan biasa. Berikut ialah contoh:
$string = "This is a test string."; $pattern = "/test/i"; preg_match($pattern, $string, $matches); print_r($matches);
Dalam contoh di atas, $string ialah rentetan untuk dicari. $pattern ialah ungkapan biasa. Dalam contoh ini, kami menggunakan "/test/i" sebagai ungkapan biasa. Ini bermakna kami sedang mencari "ujian" dalam rentetan, di mana "i" bermaksud tidak sensitif huruf besar-besaran. Akhir sekali, $matches ialah tatasusunan yang mengandungi semua hasil padanan. Dalam kes ini, ia sepatutnya mengeluarkan:
Array ( [0] => test )
Jika tiada rentetan yang sepadan ditemui, tatasusunan $matches akan kosong.
Sekarang, mari kita lihat aksara paling asas dalam ungkapan biasa.
Berikut ialah contoh untuk memadankan poskod (kod pos):
$string = "12345-6789"; $pattern = "/^[0-9]{5}(-[0-9]{4})?$/"; preg_match($pattern, $string, $matches); print_r($matches);
Dalam contoh di atas, kami menggunakan beberapa aksara berbeza:
Ungkapan biasa ini boleh sepadan dengan zip kod dalam format berikut:
Kini, kami telah mempelajari pengetahuan yang mencukupi, anda boleh mula menulis skrip yang lebih kompleks . Berikut ialah contoh untuk mencari semua fail PHP dalam folder dan menyenaraikan semua fungsi dan kaedah di dalamnya:
$dir = "./"; $files = scandir($dir); foreach ($files as $file) { if (preg_match("/.php$/", $file)) { $content = file_get_contents($file); preg_match_all("/(function|public function|private function|protected function|method|public method|private method|protected method) ([a-zA-Z0-9_]+)/", $content, $matches); echo "In $file: "; foreach ($matches[2] as $match) { echo "- $match() "; } } }
Dalam contoh di atas, kami telah menggunakan fungsi preg_match_all(). Fungsi ini serupa dengan fungsi preg_match(), kecuali ia mencari semua padanan dan bukannya padanan pertama sahaja. Kami juga menggunakan ungkapan biasa untuk memadankan semua fungsi dan kaedah. Dalam contoh ini, kami hanya akan menyenaraikan fungsi dan kaedah awam, peribadi dan dilindungi.
Kami telah melihat cara melakukan padanan corak menggunakan PHP dan ungkapan biasa. Teknik ini sangat berkuasa dan boleh digunakan untuk pelbagai tujuan, daripada padanan rentetan ringkas kepada pengesahan data yang kompleks. Jika anda belum mencuba menggunakan ungkapan biasa lagi, kami menggalakkan anda meluangkan sedikit masa untuk mempelajarinya dan mula menggunakannya, kerana ia boleh membantu anda menulis kod yang lebih cekap dan fleksibel.
Atas ialah kandungan terperinci Padanan corak menggunakan PHP dan Ungkapan Biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!