我有一个示例声明:
"function(){var x=0;if(true){var y=0;}}"
我尝试了很多表达式,但只返回"{var y=0;}"
我想提取以下结果:
["{var x=0;if(true){var y=0;}}","{var y=0;}"]
最好的正则表达式是什么?
我只使用JavaScript,因此不可能使用lookbehind。
答案 0 :(得分:0)
我刚刚使用JS Regex测试器测试了以下内容,它似乎有效:
模式 - ({.*((?={).*(?:})).*})
测试字符串 - “function(){var x = 0; if(true){var y = 0;}}”
此正则表达式仅适用于2个嵌套花括号,可能不适用于3个或更多,但可以相应地调整正则表达式。
亲切的问候,
Yaron Shahrabani。