⊗pyPmRENPB 71 of 129 menu

Ikke-fangende parenteser i Python regex

Parenteser ( ) har to funksjoner - gruppering av tegn og fangstfunksjon. Men hva gjør du hvis du trenger å gruppere, men ikke fange? For å løse dette problemet ble spesielle ikke-fangende parenteser (?: ) oppfunnet - de grupperer, men legger ikke inn i fangstgruppen.

Eksempel

I det følgende eksempelet trenger vi de første parentesene for gruppering, og de andre - for fangst. Imidlertid lagrer begge typer parenteser data i fangstgrupper:

txt = 'abab123' res = re.search('(ab)+([1-9]+)', txt)

Som et resultat vil fangstgruppene våre inneholde følgende:

print(res[0]) # vil skrive ut 'abab123' print(res[1]) # vil skrive ut 'ab' print(res[2]) # vil skrive ut '123'

Eksempel

La oss gjøre slik at det første paret med parenteser kun grupperer, men ikke legger inn i fangstgruppen:

txt = 'abab123' res = re.search('(?:ab)+([1-9]+)', txt)

Som et resultat vil tallet vårt være i den første fangstgruppen:

print(res[1]) # vil skrive ut '123'
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis