Metodo finditer naudojimas Python reguliariosiose išraiškose

Metodas finditer skirtas gauti iteratoriu visų atitikmenų su reguliariąja išraiška eilutėje. Pirmame parametre metodo nurodome reguliariąją išraišką, kurią bus ieškoma, antrame parametre - eilutę, kurioje ieškoma. Metodas patikrina visus atitikmenis, ieškodamas juos iš kairės į dešinę. Metodas grąžina atitikimo objektų iteratoriu. Metodo finditer sintaksė atrodo taip:

pythonre.finditer(ką ieškoti, kur ieškoti)

Suraskime visas skaitmenis turinčias pašeutės mūsų eilutėje:

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

Kodo vykdymo rezultatas:

python<callable_iterator object at 0x000002AA891300A0>

Dabar deklaruokime kintamąjį res, kurio reikšmė bus objektas, gautas mūsų ankstesniame pavyzdyje. Tada perrinkime jį ciklu:

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

for el in res:
  print(el)

Vykdžius kodą, bus išvesti du match-objektai:

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

Šiuose objektuose yra informacija apie visus atitikmenis su reguliariąja išraiška kortežo pavidalu. Iš jų galima išvesti atitikmenis pagal indeksą:

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

Kodo vykdymo rezultatas:

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

Duota eilutė:

pythontxt = '12 aaa 34 bbb 56 ccc'

Išveskite iš jos visus skaičius naudodami ciklą.