0

私はこの文字列を持っています

{ prop1: 'val1', prop2:{ prop3: 'val3' ,  messages: {something:'val'}  messages: { something:'val2', x : {x : 1, y : 5} } } , prop4: 'val4' }

messages: { ... }xregexp (または別のソリューション) を使用して javascriptのすべてのインスタンスを見つけるにはどうすればよいですか?

これ/messages: (\{(?>[^{}]+|(?1))*\})/gはphpでは機能しますが、javascriptでは機能しません

ここに画像の説明を入力

xregexpまた、再帰を使用してそれを理解できませんでしたhttp://xregexp.com/api/#matchRecursive

https://repl.it/@RezaRahmati/xregexpを試しました

XRegExp.matchRecursive(str, 'messages: {', '}', 'gi')

しかし、Unbalanced delimiter found in stringエラーが発生します

アップデート

@ vs97 と @barmar のコメントとして、私はmessages: (\{.+\})複数行で試して動作しましたが、単一行の場合でも問題が発生します

ここに画像の説明を入力

4

1 に答える 1