⊗pyPmRENPB 71 of 129 menu

Nicht-erfassende Klammern in Python Regex

Klammern ( ) erfüllen zwei Funktionen - das Gruppieren von Zeichen und die Funktion der Erfassungsgruppe. Und was macht man, wenn man gruppieren muss, aber nicht in der Erfassungsgruppe speichern will? Um dieses Problem zu lösen, wurden spezielle nicht-erfassende Klammern (?: ) erfunden - sie gruppieren, speichern aber nicht in der Erfassungsgruppe.

Beispiel

Im folgenden Beispiel brauchen wir die ersten Klammern zum Gruppieren und die zweiten - für die Erfassungsgruppe. Allerdings speichern beide Klammern Daten in der Erfassungsgruppe:

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

Als Ergebnis werden wir in unseren Erfassungsgruppen Folgendes haben:

print(res[0]) # gibt 'abab123' aus print(res[1]) # gibt 'ab' aus print(res[2]) # gibt '123' aus

Beispiel

Lassen Sie uns die ersten Klammern so ändern, dass sie nur gruppieren, aber nicht in der Erfassungsgruppe speichern:

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

Als Ergebnis wird sich in unserer ersten Erfassungsgruppe die Zahl befinden:

print(res[1]) # gibt '123' aus
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen