Adakah Ungkapan Biasa daripada Modul semula Sempadan Kata Sokongan (b)?
Semasa meneroka ungkapan biasa, cadangan biasa adalah menggunakan b urutan aksara untuk memadankan sempadan perkataan. Walau bagaimanapun, apabila menggunakan teknik ini dalam Python, hasil yang tidak dijangka mungkin timbul.
Pertimbangkan senario berikut:
x = 'one two three' y = re.search("\btwo\b", x)
Jangkaan adalah untuk y menjadi objek padanan jika corak sepadan dengan apa-apa. Walau bagaimanapun, y kekal Tiada, menunjukkan tiada padanan.
Memahami Isu
Sebab bagi tingkah laku yang tidak dijangka ini terletak pada penggunaan rentetan mentah. Dengan menggunakan rentetan mentah (dengan awalan r), aksara khas seperti urutan melarikan diri dan garis miring ke belakang boleh ditafsirkan secara literal. Tanpa rentetan mentah, Python mentafsirkan sebagai watak melarikan diri, yang mengganggu penggunaan b yang dimaksudkan.
Untuk membetulkan isu ini, rentetan mentah harus digunakan:
x = 'one two three' y = re.search(r"\btwo\b", x)
Dengan pengubahsuaian ini , y akan menjadi objek padanan, dengan tepat mencerminkan padanan sempadan perkataan yang dimaksudkan.
Tambahan Petua
Selain itu, pendekatan alternatif boleh digunakan untuk memadankan sempadan perkataan dengan berkesan:
Oleh menggunakan teknik ini, anda boleh menggunakan padanan sempadan perkataan dengan ungkapan biasa dalam Python dengan berkesan.
Atas ialah kandungan terperinci Adakah Modul `re` Python Mengendalikan Sempadan Perkataan (`\b`) dengan Betul dalam Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!