Gruppen und Referenzen in regulären Ausdrücken

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche

Überblick: Reguläre Ausdrücke

Gruppen

Mit der Verwendung von Klammern werden automatisch die damit gefundenen Zeichenketten in sogenannten Gruppen gespeichert.

  • Jede Gruppe hat eine Nummer 0..n.
  • Die Gruppe 0 ist der gesamte gefundene Zeichenkette: Sie braucht also keine Klammer.
    • Muster: \d+
    • Text: Die 7 Zwerge
    • Gruppe 0: 7
  • Die Gruppe m mit 0 < m <= n ist die Zeichenkette, die durch das Klammerpaar beschrieben ist, das mit der m.ten Klammer von links geöffnet wird.

Referenzen

Die Gruppe kann mit einer Referenz angesprochen werden:

  • \n referenziert die Gruppe n.
  • Referenzen können im Suchmuster vorkommen:
    • Muster: <(p|div)>(.*?)</\1>
    • Text: <p>Das ist ein <strong>Absatz</strong><p>
    • Gruppe 1: p
    • Gruppe 2: Das ist ein <strong>Absatz</strong>
  • Referenzen spielen vor allem in Ersatztexten beim Suchen-Ersetzen in Editoren oder Programmiersprachen eine wichtige Rolle:
    • Suchtext: (.*);(.*)(;*)+
    • Ersatztext: \2;\1\3
    • Damit werden in einer CSV-Datei die ersten 2 Spalten vertauscht. Funktioniert nur, wenn in den Spalten kein Trennzeichen ; vorkommt