Kaedah finditer dalam Ungkapan Biasa Python
Kaedah finditer bertujuan untuk
mendapatkan pengitar bagi semua padanan dengan
ungkapan biasa dalam rentetan. Dalam parameter pertama
kaedah, kami nyatakan ungkapan biasa yang akan
digunakan untuk carian, dalam parameter kedua - rentetan
yang akan dicari. Kaedah ini memeriksa semua padanan,
mencarinya dari kiri ke kanan. Kaedah mengembalikan
pengitar objek padanan. Sintaks
kaedah finditer adalah seperti berikut:
re.finditer(apa yang dicari, di mana untuk mencari)
Mari cari semua subrentetan dengan digit dalam rentetan kami:
txt = 'aaaa 123 bbbb 456'
print(re.finditer('\d+', txt))
Keputusan pelaksanaan kod:
<callable_iterator object at 0x000002AA891300A0>
Sekarang mari isytiharkan pembolehubah res,
yang nilainya ialah objek yang diperoleh
kami dalam contoh sebelumnya. Kemudian ulangkannya
dengan gelung:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Selepas pelaksanaan kod, dua objek padanan akan dipaparkan:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Objek ini mengandungi maklumat tentang semua padanan dengan ungkapan biasa dalam bentuk tupel. Anda boleh memaparkan padanan daripadanya mengikut indeks:
for el in res:
print(el[0])
Keputusan pelaksanaan kod:
'123'
'456'
Diberi rentetan:
txt = '12 aaa 34 bbb 56 ccc'
Paparkan semua nombor daripadanya menggunakan gelung.