Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pertempuran ungkapan biasa PHP: padanan tanda baca

Pertempuran ungkapan biasa PHP: padanan tanda baca

PHPz
PHPzasal
2023-06-23 08:03:072283semak imbas

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:

  1. Padankan tanda baca umum

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 .

  1. Memadankan elipsis

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 .

  1. Memadankan petikan berganda dan petikan tunggal

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
)

Ini bermakna teks di atas menggunakan 2 koma, 3 noktah dan 2 tanda soal.

4. Ringkasan

Artikel ini memperkenalkan kaedah menggunakan ungkapan biasa untuk memadankan pelbagai tanda baca, termasuk tanda baca umum, elips, petikan berganda dan petikan tunggal, dsb. Melalui demonstrasi kes sebenar, kita dapat melihat bahawa menggunakan ungkapan biasa boleh memproses pelbagai data teks dengan mudah dan cekap, yang membawa banyak kemudahan kepada pembangunan program. Dalam pembangunan sebenar, kita boleh memilih kaedah yang sesuai berdasarkan keperluan sebenar dan memberikan permainan sepenuhnya kepada kuasa ungkapan biasa.

Atas ialah kandungan terperinci Pertempuran ungkapan biasa PHP: padanan tanda baca. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn