使用正则表达式自动命名匿名函数
Automatically name anonymous functions with regex
我正在研究在 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
有什么帮助吗?
试试这个:
^(\s*)((?!window\.)|(var))(\s*)(\w+\.)?(\w+)(\s*)([:=])(\s*)function(\s*)\(
现在我明白了:D
^(\s*)((?!\s*window\.)|(var))(\s*)(\w+\.)?(\w+)(\s*)([:=])(\s*)function(\s*)\(
我正在研究在 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
有什么帮助吗?
试试这个:
^(\s*)((?!window\.)|(var))(\s*)(\w+\.)?(\w+)(\s*)([:=])(\s*)function(\s*)\(
现在我明白了:D
^(\s*)((?!\s*window\.)|(var))(\s*)(\w+\.)?(\w+)(\s*)([:=])(\s*)function(\s*)\(