101 of 151 menu

Modulio re metodas finditer

Modulio re metodas finditer grąžina iteratorų visų atitikmenų su reguliariąja išraiška eilutėje. Pirmame metodo parametre nurodome reguliariąją išraišką. Antrame parametre nustatome eilutę, kurioje ieškome reguliariosios išraiškos. Trečiame nebūtinate parametre galima nustatyti vėliavas. Metodas patikrina visus atitikmenis, ieškodamas jų iš kairės į dešinę.

Sintaksė

import re re.finditer(reguliarioji išraiška, eilutė, [vėliavos])

Pavyzdys

Suraskime visas poeilutes su skaitmenimis mūsų eilutėje:

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

Kodo vykdymo rezultatas:

<callable_iterator object at 0x000002AA891300A0>

Pavyzdys

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

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) for el in res: print(el)

Vykdžius kodą gausime du objektus Match object:

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

Šie objektai talpina informaciją apie visus atitikmenis su reguliariąja išraiška kortelės pavidalu. Galime iš jų išvesti atitikmenis pagal indeksą:

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

Kodo vykdymo rezultatas:

'123' '456'

Pavyzdys

Kad būtų aiškiau, ieškodami atitikmenų naudokime kišenes. O perrinkdami objektus cikle išveskime pirmąjį atitikmenį (jis bus laikomas nuline kišene), taip pat jo elementus, savo ruožtu taip pat padalintus pagal kišenes:

txt = 'aaaa 123 bbbb 456' res = re.finditer('(\d)(\d)', txt) for el in res: print(el[0], el[1], el[2])

Vykdžius kodą gausime nulinę kišenę, t.y. visą poeilutę, taip pat pirmąjį ir antrąjį simbolius iš šios poeilutės:

'12' '1' '2' '45' '4' '5'

Žiūrėkite taip pat

  • modulio re metodas findall,
    kuris grąžina sąrašą iš visų atitikmenų eilutėje
  • modulio re metodas search,
    kuris ieško pirmojo atitikmens su reguliariąja išraiška eilutėje
  • modulio re metodas match,
    kuris ieško atitikmens su reguliariąja išraiška eilutės pradžioje
  • modulio re metodas fullmatch,
    kuris ieško visų atitikmenų su reguliariąja išraiška eilutėje
  • modulio re objektas Match object,
    kuris talpina informaciją apie atitikmenis su reguliariąja išraiška
  • modulio re metodas split,
    kuris skaido eilutę į sąrašą pagal nurodytą skirstytuvą
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti