Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Cari Padanan Bertindih Menggunakan Ungkapan Biasa Python?
Mencari Padanan Bertindih dengan Ungkapan Biasa
Dalam Python, menggunakan modul semula, mencari semua padanan bertindih corak boleh dicapai melalui penggunaan pandangan ke hadapan, yang menangkap perlawanan yang diingini sambil mengekalkan perlawanan sebenar secara teknikal tidak bertindih.
Merakam Pandangan Kumpulan di Hadapan:
Kunci untuk menangkap perlawanan bertindih adalah dengan menggunakan kumpulan penangkap dalam penegasan pandang ke hadapan. Lookahead menangkap teks yang diingini, tetapi padanan sebenar ialah subrentetan lebar sifar sebelum lookahead. Ini membolehkan padanan tidak bertindih secara teknikal:
import re s = "123456789123456789" matches = re.finditer(r'(?=(\d{10}))', s) # 10-digit number series results = [int(match.group(1)) for match in matches] print(results) # [1234567891, 2345678912, 3456789123, ...]
Dalam contoh ini, corak (d{10}) sepadan dengan jujukan 10 digit, manakala pandangan hadapan (?=) menangkap dan menegaskan kehadiran ini perlawanan. Padanan kemudian ditukar kepada integer menggunakan int(match.group(1)).
Teknik ini membolehkan pengecaman cekap semua padanan bertindih dalam rentetan yang lebih besar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Padanan Bertindih Menggunakan Ungkapan Biasa Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!