Kaedah finditer modul re
Kaedah finditer modul re
mengembalikan iterator untuk semua padanan dengan ungkapan biasa
dalam rentetan. Dalam parameter pertama kaedah, kami tentukan
ungkapan biasa. Dalam parameter kedua, kami tetapkan
rentetan yang dicari ungkapan biasa. Dalam parameter ketiga
yang pilihan, kami boleh tetapkan bendera.
Kaedah memeriksa semua padanan, mencarinya
dari kiri ke kanan.
Sintaks
import re
re.finditer(ungkapan_biasa, rentetan, [bendera])
Contoh
Mari cari semua subrentetan dengan digit dalam rentetan kami:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Keputusan pelaksanaan kod:
<callable_iterator object at 0x000002AA891300A0>
Contoh
Sekarang mari isytihar 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, kami akan mendapat dua objek Match object:
<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. Kami boleh keluarkan padanan daripadanya menggunakan indeks:
for el in res:
print(el[0])
Keputusan pelaksanaan kod:
'123'
'456'
Contoh
Untuk lebih kejelasan, mari gunakan kumpulan tangkapan (capturing groups) semasa mencari padanan. Dan semasa mengulangi objek dengan gelung, mari keluarkan padanan pertama (ia akan dianggap sebagai kumpulan tangkapan sifar), serta elemennya, yang juga seterusnya diagihkan mengikut kumpulan tangkapan:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Selepas pelaksanaan kod, kami akan mendapat kumpulan tangkapan sifar, iaitu keseluruhan subrentetan, serta aksara pertama dan kedua dari subrentetan ini:
'12' '1' '2'
'45' '4' '5'
Lihat juga
-
kaedah
findallmodulre,
yang mengembalikan senarai semua padanan dalam rentetan -
kaedah
searchmodulre,
yang mencari padanan pertama dengan ungkapan biasa dalam rentetan -
kaedah
matchmodulre,
yang mencari padanan dengan ungkapan biasa pada permulaan rentetan -
kaedah
fullmatchmodulre,
yang mencari semua padanan dengan ungkapan biasa dalam rentetan -
objek
Match objectmodulre,
yang mengandungi maklumat tentang padanan dengan ungkapan biasa -
kaedah
splitmodulre,
yang memisahkan rentetan kepada senarai mengikut pemisah yang ditentukan