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