我已经找到了这种模式:
(?<=module.exports = function routes\(\) {\n)[\S\s]*?(?=\n})
在此文本中选择花括号内的文字:
module.exports = function routes() {
this.root('pages#main');
this.get('/dashboard', 'pages#dashboard');
}
有人请教我为什么这是无效的?:
myVar = data.match(/(?<=module.exports \= function routes\(\) {\n)[\S\s]*?(?=\n})/);
答案 0 :(得分:1)
如果toString()
在您的上下文中有效,那么这也应该起作用
var str = module.exports.toString();
str = str.replace(/function [^ ]+\(\)\s*\{/, '').replace(/\}$/,'');