Editor PHP Banana akan memperkenalkan anda cara mendapatkan panjang subrentetan permulaan topeng tidak padan. Dalam PHP, anda boleh menggunakan fungsi preg_match digabungkan dengan ungkapan biasa untuk mencapai fungsi ini. Mula-mula, gunakan ungkapan biasa untuk memadankan aksara yang tidak diingini, kemudian dapatkan kedudukan padanan melalui fungsi preg_match, dan akhirnya mengira panjang subrentetan permulaan. Ini memudahkan untuk melaksanakan fungsi mendapatkan panjang subrentetan permulaan topeng tidak sepadan.
Soalan: Bagaimana untuk mendapatkan panjang subrentetan permulaan topeng tidak sepadan dalam PHP
Penyelesaian:
Gunakan fungsi preg_match()
, yang mengembalikan panjang subrentetan yang sepadan dengan ungkapan biasa preg_match()
函数,它返回匹配正则表达式的子字符串的长度。通过使用否定前瞻断言 (?!)
. Dengan menggunakan pernyataan pandangan negatif (?!)
, anda boleh memadankan subrentetan yang tidak sepadan dengan topeng yang ditentukan.
Contoh kod:
$subject = "This is a test string"; $mask = "/(t.*)/"; $pattern = "/^(?:(?!$mask).)*$/"; preg_match($pattern, $subject, $matches); $length = strlen($matches[0]);
Penjelasan:
preg_match()
函数检查给定字符串 $subject
是否与正则表达式 $pattern
Padan. $pattern
Ekspresi biasa: ^
: Menambatkan permulaan rentetan. (?:...)*
: Padankan sifar atau lebih kejadian mana-mana aksara yang tidak sepadan dengan subcorak (...). (?!$mask)
:否定前瞻断言,确保不匹配 $mask
. $
: Labuhkan hujung tali. $matches
Array $matches
数组包含匹配项,其中 $matches[0]
mengandungi padanan, dengan $matches[0]
ialah subrentetan permulaan topeng bukan padanan. strlen($matches[0])
Mengembalikan panjang subrentetan. Nota Tambahan:
$mask
sah. strspn()
sebagai alternatif, yang mengira bilangan aksara sehingga aksara pertama yang sepadan ditemui. Contoh kod penuh menggunakan strspn()
:
$subject = "This is a test string"; $mask = "t"; $length = strspn($subject, $mask, 0, strlen($subject) - 1);
Kelebihan:
strspn()
Lebih cekap untuk tali panjang. Kelemahan:
Atas ialah kandungan terperinci PHP bagaimana untuk mendapatkan panjang subrentetan permulaan yang tidak sepadan dengan topeng. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!