Meine Herren,
Hat jemand eine Methode in Javascript die einen String wie zum Beispiel
'Ich[ bekomme es nicht] hin' oder 'Ich(bekomme es nicht) hin'
in ein solches Array
['Ich', [ 'bekomme es nicht' ] , 'hin']
verwandelt ....
Bitte nenn mal ein paar Sonderfälle mehr, wie soll die Ausgabe aussehen, falls es mehrere Umklammerungen gibt, sequenziell oder verschachtelt, wie soll die Ausgabe aussehen, wenn nicht zu jeder öffnenden auch eine schließende Klammer existiert usw.
Für den einen Fall dort oben hilft dir dieser regülare Ausdruck hoffentlich weiter:
alles was keine öffnende Klammer ist : ([^(]*)
dann genau eine öffnende Klammer: (
dann alles was keine schließende Klammer ist: ([^)]*)
dann genau eine schließende Klammer: )
dann der Rest: (.*)
Ergibt zusammen /([^(]*)(([^)]*))(.*)/
Damit bist du noch nicht am Ziel, aber es sollte dir eine Hilfe sein:
/([^\(]*)\(([^\)]*)\)(.*)/.exec('Ich(bekomme es nicht) hin');
//["Ich(bekomme es nicht) hin", "Ich", "bekomme es nicht", " hin"]