我有这个字符串
{ 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: (\{.+\})
并在多行上工作,当它是单行时仍然存在问题