使用正则表达式自动命名匿名函数

时间:2015-04-16 10:53:00

标签: javascript regex anonymous-function

我正在进行正则表达式替换,自动命名Javascript文件中的匿名函数。

到现在为止,我已经提出了这个正则表达式:

/^(\s*)(?!window\.)(\w+\.)?(\w+)(\s*)([:=])(\s*)function(\s*)\(/gm

正确命名函数(和保留器间距),但window对象上的或(在数组this.foo[i] : function() {}中)引用的函数除外。

问题是这个正则表达式与指定为vars的函数不匹配,如下所示:

var foo = function() {}

到目前为止,这是我的正则表达式的正则表达式在线测试程序https://regex101.com/r/gI3dH5/3

任何帮助?

2 个答案:

答案 0 :(得分:1)

现在我明白了:D

^(\s*)((?!\s*window\.)|(var))(\s*)(\w+\.)?(\w+)(\s*)([:=])(\s*)function(\s*)\(

答案 1 :(得分:0)

试试这个:

^(\s*)((?!window\\.)|(var))(\s*)(\w+\\.)?(\w+)(\s*)([:=])(\s*)function(\s*)\\(