Apabila memadankan corak teks menggunakan sempadan perkataan (b), hasil yang tidak dijangka boleh timbul jika corak itu mengandungi aksara khas ([ ]{}, dsb.). Untuk mengelakkan isu ini, pertimbangkan cerapan berikut:
Memahami Sempadan Perkataan
Sempadan perkataan berlaku pada tiga titik:
Batasan Sempadan Kata Ringkas
Menggunakan b menganggap watak perkataan (w) selepas watak khas, yang mungkin bukan yang diingini tingkah laku.
Sempadan Kata Suaian
Pendekatan ini memperkenalkan sempadan kiri dan kanan yang dinamik:
re.search(r'(?:(?!\w)|\b(?=\w)){}(?:(?<=\w)\b|(?<!\w))'.format(re.escape('Sortes\index[persons]{Sortes}')), 'test Sortes\index[persons]{Sortes} test')
Perkataan Tidak Jelas Sempadan
Kaedah ini menggunakan tinjauan negatif untuk tidak membenarkan pemadanan jika terdapat aksara perkataan bersebelahan:
re.search(r'(?<!\w){}(?!\w)'.format(re.escape('Sortes\index[persons]{Sortes}')), 'test Sortes\index[persons]{Sortes} test')
Memilih Pendekatan yang Betul
Menyesuaikan Sempadan
Anda boleh menyesuaikan corak ini untuk memadankan aksara bukan perkataan tertentu (cth., huruf sahaja atau ruang kosong) dengan menggantikan w dengan yang lain kelas watak.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Isu Padanan Sempadan Perkataan dengan Watak Khas dalam Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!