⊗pyPmRENPB 71 of 129 menu

Niet-bewarende haakjes in Python regex

Haakjes ( ) vervullen twee functies - het groeperen van karakters en de functie van een capture group (geheugen). Maar wat moet je doen als je moet groeperen, maar niet in de capture group wilt plaatsen? Om dit probleem op te lossen zijn speciale niet-bewarende haakjes (?: ) bedacht - ze groeperen, maar plaatsen niet in de capture group.

Voorbeeld

In het volgende voorbeeld hebben we de eerste haakjes nodig voor groepering, en de tweede - voor de capture group. Echter, beide soorten haakjes bewaren gegevens in de capture group:

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

Als resultaat zullen we in onze capture groups het volgende hebben:

print(res[0]) # geeft 'abab123' weer print(res[1]) # geeft 'ab' weer print(res[2]) # geeft '123' weer

Voorbeeld

Laten we ervoor zorgen dat het eerste paar haakjes alleen groepeert, maar niet in de capture group plaatst:

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

Als resultaat zal in de eerste capture group ons getal staan:

print(res[1]) # geeft '123' weer
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren