Dalam pengaturcaraan PHP, ungkapan biasa ialah alat yang sangat biasa digunakan yang boleh melakukan operasi pemadanan dan penggantian yang pantas dan berkesan pada rentetan. Tanda baca ialah elemen rentetan biasa yang boleh membawa banyak semantik yang kaya kepada teks. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk memadankan tanda baca untuk pemprosesan teks yang lebih pintar.
1. Jenis tanda baca
Dalam ungkapan biasa, tanda baca bukanlah konsep atau jenis tertentu. Sebaliknya, ia merujuk kepada pelbagai aksara khas biasa, seperti koma, noktah, tanda seru, tanda soal, koma bernoktah, dsb. Tanda baca ini digunakan secara meluas dalam pelbagai bidang seperti linguistik, kesusasteraan, dan penerbitan.
2. Kaedah memadankan tanda baca
Dalam ungkapan biasa, anda boleh memadankan pelbagai tanda baca dengan menggunakan aksara khas atau aksara meta. Berikut ialah beberapa kaedah pemadanan tanda baca biasa:
Tanda baca umum merujuk kepada koma, noktah, tanda seru, tanda soal, koma bernoktah, Untuk simbol biasa seperti titik bertindih, anda boleh menggunakan kurungan segi empat sama [] untuk memadankannya:
preg_match_all('/[,.?!;:]/', $text, $matches); // 匹配逗号、句号、感叹号、问号、分号、冒号
Dalam kod di atas, gunakan fungsi preg_match_all dan ungkapan biasa '/[,.?!;:]/' untuk padankan semua koma, noktah, tanda seru, tanda soal, koma bertitik, bertindih. Tanda kurung segi empat sama [] mewakili set aksara yang mengandungi berbilang aksara. Dalam ungkapan biasa, noktah mewakili aksara kad bebas untuk mana-mana aksara dan perlu dilepaskan sebagai .
Elipsis ialah simbol yang terdiri daripada tiga noktah berturut-turut, anda boleh menggunakan ungkapan biasa '…' untuk memadankannya:
preg_match_all('/…/', $text, $matches); // 匹配省略号
Dalam kod di atas, gunakan fungsi preg_match_all dan ungkapan biasa '/.../' untuk memadankan semua elips. Tempoh dalam elipsis perlu dilepaskan sebagai .
Dalam program PHP, petikan berganda dan petikan tunggal sering digunakan untuk menentukan rentetan, dan kedua-dua petikan ini juga merupakan tanda baca biasa yang sama markah. Ia boleh dipadankan menggunakan kurungan segi empat sama []:
preg_match_all('/["']/', $text, $matches); // 匹配双引号和单引号
Dalam kod di atas, fungsi preg_match_all dan ungkapan biasa '/["']/' digunakan untuk memadankan petikan berganda dan petikan tunggal. Sejak petik biasa ungkapan itu sendiri Ia juga ditakrifkan menggunakan petikan tunggal atau berganda, jadi ia perlu dilepaskan sebagai ' atau ".
3. Analisis Kes
Untuk lebih memahami kaedah pemadanan tanda baca, kes praktikal akan ditunjukkan di bawah: mengira bilangan kali pelbagai tanda baca digunakan dalam teks.
Pertama, kita boleh menggunakan fungsi file_get_contents terbina dalam PHP untuk membaca fail teks ke dalam pembolehubah rentetan, dan kemudian gunakan fungsi preg_match_all untuk memadankan semua tanda baca dan menyimpannya ke dalam tatasusunan:
$text = file_get_contents('article.txt'); preg_match_all('/[,.?!;:]/', $text, $matches); $counts = array_count_values($matches[0]); print_r($counts);
Dalam kod di atas, kami membaca sekeping teks daripada fail teks dan menggunakan ungkapan biasa '/[,.?!;:]/' untuk memadankan semua tanda baca di dalamnya. Kemudian, gunakan fungsi terbina dalam PHP array_count_values untuk mengira bilangan kejadian pelbagai tanda baca. Akhir sekali, gunakan fungsi print_r untuk mengeluarkan keputusan statistik.
Jika artikel.txt fail teks mengandungi kandungan berikut:
Apa khabar saya baik-baik saja, terima kasih. Nama saya Mike 🎜 >
Kemudian hasil output kod di atas ialah:Array ( [,] => 2 [.] => 3 [?] => 2 )
Atas ialah kandungan terperinci Pertempuran ungkapan biasa PHP: padanan tanda baca. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!