Jonny 5: PCRE Pattern für Klammerebenen gesucht

Beitrag lesen

Hallo Robert,

ich suche nach einer Möglichkeit, Klammerebenen zu erkennen und zu trennen.

Ein rekursives Suchmuster ist in PCRE möglich. Für die äußerste Ebene könnte es z.B. so aussehen:

\[(?:[^][]|(?R))*\]  

Findet eine öffnende eckige Klammer, gefolgt von
(einem Zeichen, das keine eckige Klammer ist | ODER fügt das Suchmuster an der Stelle(?R) ein)
* beliebig oft. Gefolgt von einer schließenden eckigen Klammer.

(?: leitet eine sog. Non-capturing group ein. Hier wäre auch eine sog. Atomic group möglich.

Anstatt (?R) könnte man auch (?0) notieren. 0 Bezieht sich auf das gesamte Suchmuster (?1) wäre wenn vorhanden das erste umklammerte Teilmuster usw.

lG, Robert