Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ungkapan biasa PHP dalam tindakan: memadankan aksara baris baharu

Ungkapan biasa PHP dalam tindakan: memadankan aksara baris baharu

WBOY
WBOYasal
2023-06-22 20:48:432833semak imbas

Amalan ungkapan biasa PHP: memadankan aksara baris baharu

Ekspresi biasa ialah alat pemadanan corak teks yang sangat berkuasa, yang boleh menerangkan peraturan untuk memadankan teks melalui beberapa aksara dan pengendali khas. Dalam PHP, ungkapan biasa sangat mudah digunakan PHP mempunyai pustaka PCRE (perl-compatible regular expression) terbina dalam yang menyediakan pelbagai fungsi operasi ekspresi biasa.

Tetapi dalam aplikasi sebenar, kadangkala terdapat beberapa kes khas, seperti padanan teks yang mengandungi baris baharu. Dalam kes ini, kita perlu mengendalikan baris baharu secara khusus untuk memadankan dengan betul apa yang kita perlukan. Artikel ini akan menunjukkan kepada anda cara menggunakan ungkapan biasa dalam PHP untuk memadankan teks yang mengandungi baris baharu.

1. Pemisah baris dalam ungkapan biasa

Dalam ungkapan biasa, pemisah baris biasanya diwakili oleh
. Contohnya, untuk memadankan rentetan yang mengandungi helo dalam baris teks, anda boleh menggunakan ungkapan biasa berikut:

/.*hello.*/i

Antaranya, .* bermaksud memadankan mana-mana aksara dalam beberapa kali dan i bermaksud tidak peka huruf besar-besaran. .

Walau bagaimanapun, ungkapan biasa ringkas ini tidak akan berfungsi dengan betul jika teks yang hendak dipadankan mengandungi baris baharu. Contohnya, untuk memadankan rentetan helo dalam teks berikut:

this is a
hello
world

Menggunakan ungkapan biasa di atas akan gagal kerana ia hanya boleh memadankan satu baris teks dan tidak boleh memadankan merentas baris.

2. Gunakan pengubah s untuk memadankan baris baharu

Untuk memadankan teks yang mengandungi baris baharu dalam PHP dengan betul, anda boleh menggunakan pengubah s. Pengubah suai s membenarkan noktah (.) sepadan dengan mana-mana aksara, termasuk baris baharu. Sebagai contoh, ungkapan biasa berikut boleh memadankan rentetan helo dalam contoh di atas:

/.*hello.*/is

di mana pengubah suai s ditambah selepas ungkapan biasa untuk membenarkan noktah sepadan dengan mana-mana aksara, termasuk baris baharu. Dengan cara ini, tempoh boleh memadankan semua aksara dalam teks, walaupun rentetan itu menjangkau berbilang baris.

Perlu diambil perhatian bahawa pengubah suai s akan menjejaskan peraturan padanan bagi keseluruhan ungkapan biasa, jadi ia perlu digunakan dengan berhati-hati.

3. Gunakan [sS] untuk memadankan aksara baris baharu

Selain menggunakan pengubah suai s, anda juga boleh menggunakan [sS] untuk memadankan mana-mana aksara, termasuk aksara baris baharu. Antaranya, s mewakili aksara ruang putih (ruang, tab, baris baharu, dll.), dan S mewakili aksara bukan ruang putih. Oleh itu, [sS] bermaksud padankan semua aksara, termasuk baris baharu. Sebagai contoh, ungkapan biasa berikut juga boleh memadankan rentetan helo dalam contoh di atas:

/.*hello[sS]*/i

Kelebihan menggunakan [sS] untuk memadankan baris baharu ialah tidak perlu menambah pengubah selepas ungkapan biasa dan anda boleh Adalah lebih mudah untuk memasukkan pemisah baris jika diperlukan.

4. Gunakan kelas aksara pratakrif ungkapan biasa

Selain menggunakan pengubah suai s dan [sS], anda juga boleh menggunakan kelas aksara pratakrif ungkapan biasa untuk memadankan baris baharu. Antaranya, R bermaksud memadankan mana-mana aksara baris baharu, termasuk
,,
, dsb. Sebagai contoh, ungkapan biasa berikut juga boleh memadankan rentetan helo dalam contoh di atas:

/.*hello.*R/i

di mana R bermaksud memadankan mana-mana aksara baris baharu, supaya ungkapan biasa boleh dipadankan dengan betul walaupun rentetan itu merentangi berbilang baris.

Perhatikan bahawa R telah diperkenalkan dalam PHP 5.2.4 dan tidak akan berfungsi jika versi PHP anda lebih rendah daripada itu.

5. Kesimpulan

Menggunakan ungkapan biasa untuk memadankan teks yang mengandungi pemisah baris merupakan masalah yang sering dihadapi dalam pembangunan PHP. Padanan yang betul boleh dicapai dengan menggunakan pengubah suai s, [sS], dan R. Anda boleh memilih kaedah yang hendak digunakan berdasarkan tabiat dan keperluan anda sendiri. Apabila menggunakan ungkapan biasa, anda juga boleh merujuk kepada manual fungsi PHP PCRE untuk mengetahui lebih lanjut tentang fungsi operasi ungkapan biasa yang biasa digunakan dan cara menggunakannya.

Atas ialah kandungan terperinci Ungkapan biasa PHP dalam tindakan: memadankan aksara baris baharu. 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