Dalam pembangunan PHP, sering kali diperlukan untuk mengekstrak subrentetan dengan permulaan khusus daripada rentetan, yang boleh dicapai melalui ungkapan biasa. Ungkapan biasa ialah alat yang berkuasa untuk mencari teks untuk teks yang sepadan dengan corak tertentu.
Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengekstrak subrentetan yang bermula dengan permulaan tertentu.
Pertama, mari lihat ungkapan biasa mudah untuk mengekstrak rentetan bermula dengan "abc":
$pattern = '/^abc.*/'; $str = "abcdefg"; if (preg_match($pattern, $str, $matches)) { echo $matches[0]; }
Dalam kod di atas , ungkapan biasa "/^abc./" digunakan untuk memadankan rentetan yang bermula dengan "abc". Antaranya, "^" bermaksud memadankan kedudukan permulaan rentetan, "." bermaksud memadankan mana-mana aksara dan "" bermaksud memadankan aksara sebelumnya sifar atau lebih kali. Oleh itu, ungkapan biasa ini akan sepadan dengan mana-mana rentetan panjang bermula dengan "abc".
Dalam fungsi preg_match(), parameter pertama ialah ungkapan biasa, parameter kedua ialah rentetan yang akan dipadankan dan parameter ketiga ialah tatasusunan hasil padanan, di mana $matches[0] bermaksud The rentetan yang dipadankan. Kerana kita hanya perlu memadankan satu subrentetan, fungsi preg_match() digunakan dan bukannya fungsi preg_match_all().
Kod di atas akan mengeluarkan "abcdefg" kerana "abcdefg" mengandungi subrentetan bermula dengan "abc". Jika rentetan yang hendak dipadankan tidak bermula dengan "abc", kod di atas akan mengembalikan rentetan kosong.
Dalam aplikasi praktikal, kita mungkin perlu mengekstrak subrentetan permulaan tertentu daripada rentetan dan menentukan beberapa parameter untuk mengawal peraturan Pemadanan. Sebagai contoh, kita mungkin hanya mahu memadankan rentetan yang bermula dengan huruf besar "A" atau huruf kecil "a".
Berikut ialah ungkapan biasa dengan parameter untuk memadankan rentetan bermula dengan "A" atau "a":
$pattern = '/^[Aa].*/'; $str = "apple"; if (preg_match($pattern, $str, $matches)) { echo $matches[0]; }
Dalam kod di atas, ungkapan biasa "/^ [Aa].* /" digunakan untuk memadankan rentetan yang bermula dengan "A" atau "a". Di mana "[Aa]" bermaksud sepadan dengan aksara "A" atau "a", jadi ungkapan biasa ini akan sepadan dengan mana-mana rentetan panjang bermula dengan "A" atau "a".
Kod di atas akan mengeluarkan "epal" kerana "epal" bermula dengan huruf kecil "a". Jika rentetan yang hendak dipadankan tidak bermula dengan "A" atau "a", kod di atas akan mengembalikan rentetan kosong.
Jika kita perlu memadankan subrentetan dengan berbilang permulaan yang mungkin, kita boleh menggunakan operasi "|" bagi simbol ungkapan biasa, yang mewakili logik ATAU. Sebagai contoh, kita mungkin perlu memadankan rentetan yang bermula dengan "abc", "def", atau "ghi".
Berikut ialah ungkapan biasa dengan berbilang permulaan yang mungkin, digunakan untuk memadankan rentetan bermula dengan "abc", "def" atau "ghi":
$pattern = '/^(abc|def|ghi).*/'; $str = "ghijklmnop"; if (preg_match($pattern, $str, $matches)) { echo $matches[0]; }
Dalam kod di atas, ungkapan biasa "/^(abc|def|ghi).*/" digunakan untuk memadankan sebarang rentetan panjang bermula dengan "abc", "def" atau "ghi". Operator "|" mewakili OR logik, jadi ungkapan biasa ini akan sepadan dengan mana-mana rentetan panjang bermula dengan "abc", "def" atau "ghi".
Kod di atas akan mengeluarkan "ghijklmnop" kerana ia bermula dengan "ghi". Jika rentetan yang hendak dipadankan tidak bermula dengan "abc", "def" atau "ghi", kod di atas akan mengembalikan rentetan kosong.
Kesimpulan
Artikel ini menerangkan cara menggunakan ungkapan biasa PHP untuk mengekstrak subrentetan yang bermula dengan permulaan tertentu. Kami belajar cara menulis ungkapan biasa mudah dan ungkapan biasa dengan parameter, dan cara mengendalikan kes yang terdapat pelbagai kemungkinan permulaan. Menggunakan ungkapan biasa boleh mengekstrak subrentetan yang diperlukan dengan berkesan daripada rentetan, menyediakan alat yang berkuasa untuk pembangunan program.
Atas ialah kandungan terperinci Ungkapan Biasa PHP: Cara mengekstrak subrentetan permulaan tertentu daripada rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!