Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana Memadankan Frasa dengan Watak Khas Menggunakan Modul `re` Python?

Bagaimana Memadankan Frasa dengan Watak Khas Menggunakan Modul `re` Python?

DDD
Lepaskan: 2024-12-08 02:56:10
asal
633 orang telah melayarinya

How to Reliably Match Phrases with Special Characters Using Python's `re` Module?

Hasil Tidak Dijangka dengan Sempadan Perkataan dan Aksara Khas

Apabila cuba memadankan kehadiran frasa dengan kedua-dua aksara biasa dan khas, pengguna boleh menemui hasil yang tidak dijangka. Menggunakan modul semula Python, corak boleh dilepaskan dan dicari dalam rentetan yang diberikan. Walaupun b lazimnya sepadan dengan sempadan perkataan, kesukaran timbul apabila corak mengandungi aksara khas.

Pertimbangkan contoh frasa "Indeks indeks[orang]{Isih}". Apabila mencari dalam rentetan "test Sortesindex[persons]{Sortes} text" menggunakan re.escape('Sortes\index[persons]{Sortes}') dan b, padanan tidak ditemui. Ini berlaku kerana b memerlukan aksara perkataan untuk mengikut sempadan, yang tidak berlaku apabila aksara khas hadir.

Untuk membetulkannya, padanan aksara bukan perkataan yang jelas atau keadaan hujung rentetan boleh digunakan. Menggantikan b dengan (W|$) membolehkan carian berjaya.

Pendekatan yang lebih komprehensif ialah menggunakan sempadan kata suai:

re.search(r'(?:(?!\w)|\b(?=\w)){}(?:(?<=\w)\b|(?<!\w))'.format(re.escape('Sortes\index[persons]{Sortes}')), 'test Sortes\index[persons]{Sortes} test')
Salin selepas log masuk

Sempadan kata suai memastikan kehadiran sempadan perkataan tanpa memerlukan aksara perkataan bersebelahan. Ia beroperasi dengan mengecualikan aksara bukan perkataan pada kedua-dua belah corak.

Sebagai alternatif, sempadan perkataan yang tidak jelas berdasarkan tinjauan negatif boleh digunakan:

re.search(r'(?<!\w){}(?!\w)'.format(re.escape('Sortes\index[persons]{Sortes}')), 'test Sortes\index[persons]{Sortes} test')
Salin selepas log masuk

Tinjauan negatif menjamin ketiadaan perkataan aksara pada kedua-dua belah corak.

Kesimpulannya, apabila memadankan frasa dengan kedua-dua aksara biasa dan khas, padanan aksara bukan perkataan yang jelas, sempadan perkataan penyesuaian atau sempadan perkataan yang tidak jelas harus digunakan untuk memastikan hasil yang diingini.

Atas ialah kandungan terperinci Bagaimana Memadankan Frasa dengan Watak Khas Menggunakan Modul `re` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan