Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Sempadan Kata Ungkapan Biasa (\b) Berlaku Salah dengan Watak Khas?
Apabila menggunakan ungkapan biasa untuk memadankan perkataan, corak sempadan b kadangkala boleh menghasilkan hasil yang tidak dijangka, terutamanya apabila perkataan itu mengandungi khas aksara.
Pertimbangkan frasa "test Sortesindex[persons]{Sortes} text." Memadankan frasa penuh menggunakan b
Secara formal, b memadankan sempadan antara watak perkataan (w) dan watak bukan perkataan (W), atau permulaan/akhir rentetan. Apabila pola sempadan perkataan diikuti dengan serta-merta oleh aksara khas seperti [ atau }, b hanya memerlukan aksara perkataan selepas aksara khas.
Untuk menangani isu ini, sempadan kata suaian atau sempadan kata yang tidak jelas boleh digunakan.
Kata suaian sempadan mengendalikan sebarang gabungan aksara perkataan dan bukan perkataan pada kedua-dua belah corak:
re.search(r'(?:(?!\w)|\b(?=\w)){}(?:(?<=\w)\b|(?<!\w))'.format(re.escape('Sortes\index[persons]{Sortes}')), 'test Sortes\index[persons]{Sortes} test')
Sempadan perkataan yang tidak jelas tidak memerlukan aksara perkataan pada kedua-dua belah corak:
re.search(r'(?<!\w){}(?!\w)'.format(re.escape('Sortes\index[persons]{Sortes}')), 'test Sortes\index[persons]{Sortes} test')
Kata suai sempadan lebih serba boleh tetapi membenarkan watak bukan perkataan yang mendahului dan mengekori. Sempadan perkataan yang tidak jelas adalah lebih ketat, memastikan tiada aksara perkataan sekeliling.
Corak lihat sekeliling yang digunakan untuk sempadan perkataan adaptif dan tidak jelas boleh disesuaikan berdasarkan keperluan khusus tugasan padanan. Contohnya, untuk hanya memadankan bukan huruf di sekeliling corak, gunakan [^Wd_] bukannya w.
Atas ialah kandungan terperinci Mengapa Sempadan Kata Ungkapan Biasa (\b) Berlaku Salah dengan Watak Khas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!