我正在进行正则表达式替换,自动命名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
任何帮助?
答案 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*)\\(