Regex:获取分配给属性的JS函数的内容
我只需要获取此函数的内容作为字符串:Regex:获取分配给属性的JS函数的内容,regex,Regex,我只需要获取此函数的内容作为字符串: (lib.foobar = function(mode, startPosition, loop) { // contents to grab }).prototype = getMCSymbolPrototype(lib.foobar, new cjs.Rectangle(0, 0, 59.7, 59.4), null); 我做到了这一点,但在开始大括号之前无法排除所有内容:foobar=function(mode,startPosition,l
(lib.foobar = function(mode, startPosition, loop) {
// contents to grab
}).prototype = getMCSymbolPrototype(lib.foobar, new cjs.Rectangle(0, 0, 59.7, 59.4), null);
我做到了这一点,但在开始大括号之前无法排除所有内容:foobar=function(mode,startPosition,loop){
:
(?={)。*(?=})
(?=foobar.+{.+(?=})
试试正则表达式:
(?:(?!foobar.*\n)\n)(?:.*\n)*(?=})
请参阅一般来说,不应使用regex解析编程语言。
(?@chrisz,它似乎工作得很好,因为.*是贪婪的。@chrisz你说得对,但我们在这里没有选择-除非我们得到了从Adobe Animate CC导出的生成EaselJS动画的代码。@Matt.G JS不支持lookbehinds。只有最新版本的Google Chrome支持它。有趣的解决方案。谢谢!