101 of 151 menu

Metoda finditer modułu re

Metoda finditer modułu re zwraca iterator wszystkich dopasowań do wyrażenia regularnego w ciągu znaków. W pierwszym parametrze metody określamy wyrażenie regularne. W drugim parametrze ustawiamy ciąg znaków, w którym szukamy wyrażenia. W trzecim opcjonalnym parametrze można ustawić flagi. Metoda sprawdza wszystkie dopasowania, szukając ich od lewej do prawej.

Składnia

import re re.finditer(wyrażenie regularne, ciąg znaków, [flagi])

Przykład

Znajdźmy wszystkie podciągi z cyframi w naszym ciągu znaków:

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

Wynik wykonania kodu:

<callable_iterator object at 0x000002AA891300A0>

Przykład

A teraz zadeklarujmy zmienną res, której wartością będzie obiekt otrzymany przez nas w poprzednim przykładzie. Następnie przeiterujmy przez niego pętlą:

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

Po wykonaniu kodu otrzymamy dwa obiekty Match object:

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

Te obiekty zawierają informacje o wszystkich dopasowaniach do wyrażenia regularnego w postaci krotki. Możemy wypisać z nich dopasowania po indeksie:

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

Wynik wykonania kodu:

'123' '456'

Przykład

Dla większej przejrzystości użyjmy podczas wyszukiwania dopasowań grup przechwytujących. A podczas iteracji po obiektach pętlą wypiszmy pierwsze dopasowanie (będzie ono uważane za zerową grupę przechwytującą), a także jego elementy, również z kolei rozdzielone na grupy przechwytujące:

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

Po wykonaniu kodu otrzymamy zerową grupę przechwytującą, czyli cały podciąg, a także pierwszy i drugi znak z tego podciągu:

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

Zobacz też

  • metoda findall modułu re,
    która zwraca listę wszystkich dopasowań w ciągu znaków
  • metoda search modułu re,
    która szuka pierwszego dopasowania do wyrażenia regularnego w ciągu znaków
  • metoda match modułu re,
    która szuka dopasowania do wyrażenia regularnego na początku ciągu znaków
  • metoda fullmatch modułu re,
    która szuka wszystkich dopasowań do wyrażenia regularnego w ciągu znaków
  • obiekt Match object modułu re,
    który zawiera informacje o dopasowaniach do wyrażenia regularnego
  • metoda split modułu re,
    która dzieli ciąg znaków na listę według określonego separatora
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć