使用angularjs中的api代码。对此功能感兴趣。 不了解如何获得多个匹配。例如,在return语句中使用args 1 vs arg [0]。
var FN_ARGS = /^function\s*[^\(]*\(\s*([^\)]*)\)/m;
var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
function anonFn(fn) {
// For anonymous functions, showing at the very least the function signature can help in
// debugging.
var fnText = fn.toString().replace(STRIP_COMMENTS, ''),
args = fnText.match(FN_ARGS);
if (args) {
return 'function(' + (args[1] || '').replace(/[\s\r\n]+/, ' ') + ')';
}
return 'fn';
}
所以..
anonFn(function(a, b) { return a + b;})
// args = ["function (a, b)", "a, b", index: 0, input: "function (a, b) {return a + b;}"]
设置全局,那么它们就是标准输出的一部分
但是 - 如何将[&#34; function(a,b)&#34;,&#34; a,b&#34;,...]作为匹配案例返回?< /强> 首先想到的是我对Sting.prototype.match不了解的东西, 现在,认为这是我对正则表达式不了解的事情 - 但是
这是否在RegExr link中进行了检查,并且仅显示匹配的&#39;功能(a,b)&#39;