Ich habe die folgende Zeichenfolge:Regex verhindern, dass eine verschachtelte Übereinstimmung gefunden wird?
"hello x { x {} } world"
Ich mag das erste Paar passen, aber nicht die zweite Gruppe. Regex sollte Folgendes ausgeben: "x {x {}}", aber stattdessen gibt es das x {} aus, das sich im Inneren befindet.
Kann ich es so machen, dass Regex nur die Eltern erfasst und nie die Kinder?
Eine einfache Überprüfung wie folgt:/x {}/g tut nicht. Es ist offensichtlich, warum, aber ich bin nicht sicher, welche Technik verwendet werden kann, um dies zu umgehen.
Während Es könnte möglich sein, dass Sie dies mit einer Änderung der Regex (Idunno) tun könnten, Ich könnte mir auch vorstellen, es zu reparieren, indem ich den Ziel-String auf eine andere Art und Weise durchlaufe, den ersten Such-Index ständig verfolge und ihn bis zum Ende eines Musters verschiebe, wenn eines gefunden wird. – Katana314
Das Parsen einer Syntax, die Dinge wie das Verschachteln von Klammern oder Klammern beinhaltet, erfordert normalerweise einen leistungsfähigeren Parser als das, was mit regulären Ausdrücken erreicht werden kann. – Pointy
Was sollte von "Hallo x {x {y {}} p {} zoo} world {wieder}" ausgegeben werden? – anubhava