0

我想出了这个模式:

(?<=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})/);
4

1 回答 1

1

如果toString()在您的上下文中有效,那么这也应该有效

var str = module.exports.toString();
str = str.replace(/function [^ ]+\(\)\s*\{/, '').replace(/\}$/,'');
于 2013-04-08T07:10:34.603 回答