101 of 151 menu

Metoden finditer i modulen re

Metoden finditer i modulen re returnerar en iterator för alla träffar med ett reguljärt uttryck i en sträng. I metodens första parameter anger vi det reguljära uttrycket. I den andra parametern anger vi strängen där vi söker efter det reguljära uttrycket. I den tredje valfria parametern kan vi ange flaggor. Metoden kontrollerar alla träffar och söker efter dem från vänster till höger.

Syntax

import re re.finditer(reguljärt_uttryck, sträng, [flaggor])

Exempel

Låt oss hitta alla delsträngar med siffror i vår sträng:

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

Resultatet av att köra koden:

<callable_iterator object at 0x000002AA891300A0>

Exempel

Och nu låt oss deklarera variabeln res, vars värde är objektet vi fick i föregående exempel. Sedan itererar vi över det med en loop:

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

Efter att ha kört koden får vi två Match-objekt:

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

Dessa objekt innehåller information om alla träffar med det reguljära uttrycket i form av en tupel. Vi kan skriva ut träffarna från dem med index:

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

Resultatet av att köra koden:

'123' '456'

Exempel

För mer tydlighet, låt oss använda fångstgrupper när vi söker efter träffar. Och när vi itererar över objekten i loopen, skriver vi ut den första träffen (den kommer att räknas som den nollte fångstgruppen), samt dess element, också i sig fördelade över fångstgrupper:

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

Efter att ha kört koden får vi den nollte fångstgruppen, dvs. hela delsträngen, samt den första och andra siffran från denna delsträng:

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

Se även

  • metoden findall i modulen re,
    som returnerar en lista med alla träffar i strängen
  • metoden search i modulen re,
    som söker efter den första träffen med det reguljära uttrycket i strängen
  • metoden match i modulen re,
    som söker efter träff med det reguljära uttrycket i början av strängen
  • metoden fullmatch i modulen re,
    som söker efter alla träffar med det reguljära uttrycket i strängen
  • objektet Match object i modulen re,
    som innehåller information om träffar med det reguljära uttrycket
  • metoden split i modulen re,
    som delar upp en sträng till en lista med en angiven avgränsare
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa