⊗pyPmREMFi 62 of 129 menu

finditer-metodi Pythonin säännöllisissä lausekkeissa

Menetelmä finditer on tarkoitettu kaikkien säännölliseen lausekkeeseen osuvien kohteiden iteraattorin saamiseksi merkkijonosta. Ensimmäisessä parametrissa menetelmää määritämme säännöllisen lausekkeen, jota etsimme, toisessa parametrissa - merkkijonon, josta etsimme. Menetelmä tarkistaa kaikki osumat, etsien niitä vasemmalta oikealle. Menetelmä palauttaa otteluobjektien iteraattorin. Menetelmän finditer syntaksi näyttää tältä:

re.finditer(mitä etsitään, mistä etsitään)

Etsitään kaikki numeromerkkijonot meidän merkkijonostamme:

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

Koodin suorituksen tulos:

<callable_iterator object at 0x000002AA891300A0>

Ja nyt esittelemme muuttujan res, jonka arvoksi tulee objekti, joka on saatu edellisessä esimerkissä. Sitten käydään se läpi silmukalla:

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

Koodin suorituksen jälkeen tulostuu kaksi match-objektia:

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

Nämä objektit sisältävät tietoa kaikista säännölliseen lausekkeeseen osuvista kohteista tuple-muodossa. Niistä voidaan tulostaa osumia indeksin mukaan:

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

Koodin suorituksen tulos:

'123' '456'

Annettu merkkijono:

txt = '12 aaa 34 bbb 56 ccc'

Tulosta siitä kaikki numerot silmukalla.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää