Adakah Ungkapan Biasa daripada Modul semula Sempadan Perkataan Menyokong (b)?
Semasa cuba menggunakan urutan pelarian b untuk memadankan sempadan perkataan dalam modul semula Python, ketidakkonsistenan mungkin timbul. Coretan kod berikut menunjukkan perkara ini:
>>> x = 'one two three' >>> y = re.search("\btwo\b", x)
Anehnya, objek padanan yang dijangka tidak hadir, sebaliknya mengembalikan Tiada. Ini menimbulkan persoalan sama ada Python menyokong ungkapan b atau jika penggunaannya tidak betul.
Percanggahan berpunca daripada penggunaan rentetan biasa dalam kod. Rentetan mentah hendaklah digunakan sebaliknya, seperti yang ditunjukkan di bawah:
>>> x = 'one two three' >>> y = re.search(r"\btwo\b", x)
Pengubahsuaian ini menyelesaikan isu, menghasilkan objek padanan seperti yang dimaksudkan.
Selain itu, pertimbangkan untuk menggunakan pendekatan berikut:
word = 'two' re.compile(r'\b%s\b' % word, re.I)
Ini memastikan pemadanan yang tidak peka huruf besar-besaran, berpotensi mengembangkan skop perlawanan yang berjaya.
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!