Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Cari Padanan Bertindih Menggunakan Ungkapan Biasa dalam Python?
Apabila menggunakan ungkapan biasa, adalah penting untuk mempertimbangkan cara padanan bertindih dikendalikan. Dalam Python, gelagat lalai re.findall ialah mengembalikan padanan tidak bertindih sahaja.
Sebagai contoh, pertimbangkan ungkapan:
>>> match = re.findall(r'\w\w', 'hello')
Seperti yang dijangkakan, pembolehubah padanan mengandungi ['dia', 'll']. Ungkapan itu sepadan dengan dua aksara berturut-turut pada satu masa, menghasilkan padanan tidak bertindih.
Untuk mencari padanan bertindih, anda boleh menggunakan penegasan pandang ke hadapan. Sintaks untuk penegasan pandangan ke hadapan ialah:
(?=...)
di mana ... mewakili ungkapan biasa yang sepadan dengan subrentetan yang dikehendaki.
Contohnya, ungkapan:
>>> re.findall(r'(?=(\w\w))', 'hello')
mengembalikan ['dia', 'el', 'll', 'lo']. Penegasan pandang ke hadapan (?=(ww)) menyemak sama ada dua aksara seterusnya dalam rentetan sepadan dengan corak ww, tanpa memakannya. Memandangkan setiap pasangan aksara berturut-turut memenuhi kriteria ini, semua kemungkinan padanan bertindih ditemui.
Dengan memanfaatkan pernyataan pandangan ke hadapan, anda boleh mencari padanan bertindih dengan ekspresi biasa dengan mudah. Ini ialah teknik yang berkuasa untuk tugasan seperti mengekstrak subrentetan atau mengesahkan rentetan input.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Padanan Bertindih Menggunakan Ungkapan Biasa dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!