PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dengan fungsi pemprosesan rentetan yang berkuasa. Antaranya, ungkapan biasa merupakan aspek yang patut diberi perhatian. Ungkapan biasa boleh membantu kami mencari dengan cepat aksara atau rentetan yang sepadan dengan corak yang ditentukan dalam rentetan dan memprosesnya selanjutnya. Dalam artikel ini, kita akan belajar cara menggunakan ungkapan biasa untuk memproses rentetan dalam PHP.
Langkah satu: Fahami ungkapan biasa
Sebelum menggunakan ungkapan biasa untuk memproses rentetan, kita perlu memahami beberapa pengetahuan asas tentang ungkapan biasa. Ungkapan biasa ialah ungkapan yang memadankan rentetan mengikut peraturan tertentu Ia terdiri daripada beberapa aksara khas dan aksara biasa. Contohnya, ungkapan biasa berikut:
/[0-9]{3}-[0-9]{3}-[0-9]{4}/
Ungkapan biasa ini sepadan dengan nombor telefon AS, yang terdiri daripada 3 digit-3 digit-4 digit. Antaranya, kurungan segi empat sama [] mewakili padanan aksara dalam kurungan segi empat, dan kurungan kerinting {} mewakili bilangan kali aksara sebelumnya diulang.
Ungkapan biasa dalam PHP boleh dipadankan melalui fungsi preg_match, seperti berikut:
$phone_number = "888-555-1234"; $pattern = "/[0-9]{3}-[0-9]{3}-[0-9]{4}/"; if(preg_match($pattern, $phone_number)){ echo "这个是美国电话号码 "; }else{ echo "这不是美国电话号码 "; }
Kod di atas mula-mula mentakrifkan pembolehubah nombor telefon $phone_number
dan kemudian mentakrifkan ungkapan biasa $pattern
untuk Memadankan nombor telefon AS. Seterusnya, gunakan fungsi preg_match()
untuk memadankan $phone_number
dengan $pattern
. Jika perlawanan itu berjaya, outputnya ialah nombor telefon ialah nombor telefon AS.
Perlu diperhatikan bahawa /
aksara dalam ungkapan biasa digunakan untuk menunjukkan kedudukan mula dan akhir ungkapan biasa. Dalam fungsi preg_match
, kita juga perlu membungkus ungkapan biasa dengan /
.
Langkah 2: Gunakan ungkapan biasa untuk memproses rentetan
Setelah memahami pengetahuan asas ungkapan biasa, kita boleh mula menggunakan ungkapan biasa untuk memproses rentetan. Di bawah ialah beberapa keperluan pemprosesan rentetan biasa dan kod contoh tentang cara menggunakan ungkapan biasa untuk memenuhinya.
Untuk mencari nombor dalam rentetan, anda boleh menggunakan ungkapan biasa /[0-9]+/
, di mana []
bermaksud memadankan sebarang nombor dalam rentetan Satu aksara, +
bermaksud memadankan aksara sebelumnya satu atau beberapa kali.
$str = "abc 123 def 456"; $pattern = "/[0-9]+/"; preg_match_all($pattern, $str, $matches); print_r($matches);
Dalam kod di atas, rentetan $str
ditakrifkan, dan kemudian fungsi preg_match_all()
digunakan untuk mencari nombor di dalamnya dan disimpan dalam tatasusunan $matches
. Akhirnya, apa yang disimpan dalam tatasusunan $matches
ialah tatasusunan rentetan semua nombor.
Untuk mencari pautan dalam rentetan, anda boleh menggunakan ungkapan biasa /https?://[w/:%#$&?()~.=+-]+/i
. Antaranya, http
atau https
mewakili protokol dan [w/:%#$&?()~.=+-]+
mewakili bahagian alamat pautan.
$str = "这里是一个链接:http://www.example.com,时间:2021-10-11,地点:New York。"; $pattern = "/https?://[w/:%#$&?()~.=+-]+/i"; preg_match($pattern, $str, $matches); print_r($matches);
Dalam kod di atas, rentetan $str
ditakrifkan dan fungsi preg_match()
digunakan untuk mencari pautan di dalamnya dan disimpan dalam tatasusunan $matches
.
Untuk menggantikan huruf yang ditentukan dalam rentetan, anda boleh menggunakan fungsi preg_replace()
. Sebagai contoh, kita boleh menggantikan semua huruf dalam rentetan dengan huruf A:
$str = "apple"; $pattern = "/a/"; $replacement = "A"; echo preg_replace($pattern, $replacement, $str);
Hasil output ialah:
Apple
Perlu diperhatikan bahawa fungsi preg_replace()
akan menggantikan semua Semua padanan kandungan diganti.
Untuk memisahkan data dalam rentetan, anda boleh menggunakan fungsi preg_split()
. Sebagai contoh, kita boleh menggunakan koma untuk memisahkan set data:
$str = "apple,banana,pear,grape"; $pattern = "/,/"; print_r(preg_split($pattern, $str));
Hasil output ialah:
Array ( [0] => apple [1] => banana [2] => pear [3] => grape )
Dalam kod di atas, kami mentakrifkan rentetan $str
dan menggunakan preg_split()
fungsi di dalamnya Cari koma untuk membelah rentetan, dan fungsi mengembalikan tatasusunan split.
Kesimpulan
Ekspresi biasa ialah kaedah yang berkuasa dan fleksibel yang boleh membantu kami mencari dan memproses corak tertentu dalam rentetan dengan cepat. Melalui pengenalan artikel ini, saya percaya anda sudah mempunyai pemahaman tertentu tentang cara menggunakan ungkapan biasa untuk memproses rentetan dalam PHP. Sudah tentu, senario aplikasi ungkapan biasa tidak terhad kepada pemprosesan rentetan, ia juga boleh digunakan untuk operasi lain, seperti pemprosesan HTML.
Atas ialah kandungan terperinci Cara memproses rentetan menggunakan ungkapan biasa dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!