Meetod finditer Pythoni regulaaravaldistes

Meetod finditer on mõeldud kõigi regulaaravaldisega kattuvuste iteraatori saamiseks stringis. Meetodi esimeses parameetris määrame regulaaravaldise, mida otsime, teises parameetris - stringi, millest otsime. Meetod kontrollib kõiki kattuvusi, otsides neid vasakult paremale. Meetod tagastab sobitamisobjektide iteraatori. Meetodi finditer süntaks on järgmine:

pythonre.finditer(mida otsida, kust otsida)

Leiame kõik numbritega alamsõned meie stringis:

pythontxt = 'aaaa 123 bbbb 456'
print(re.finditer('\d+', txt))

Koodi täitmise tulemus:

python<callable_iterator object at 0x000002AA891300A0>

Nüüd deklareerime muutuja res, mille väärtuseks on eelmises näites saadud objekt. Seejärel itereerime selle tsükliga läbi:

pythontxt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)

for el in res:
  print(el)

Pärast koodi täitmist kuvatakse kaks match-objekti:

python<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>

Need objektid sisaldavad teavet kõigi regulaaravaldisega kattumiste kohta tuple kujul. Neist saab indeksi järgi kuvada kattuvused:

pythonfor el in res:
  print(el[0])

Koodi täitmise tulemus:

python'123'
'456'
Задание 1

Antud string:

pythontxt = '12 aaa 34 bbb 56 ccc'

Kuva sealt kõik numbrid tsükli abil.