我需要一个正则表达式可以匹配像有没有人有正则表达式匹配的JavaScript函数?
function abc(var1, var2){
...
}
...
abc : function(var1, var2){
...
},
...
我需要一个正则表达式可以匹配像有没有人有正则表达式匹配的JavaScript函数?
function abc(var1, var2){
...
}
...
abc : function(var1, var2){
...
},
...
在JS,一个功能可以包含函数(这反过来又可以包含函数,等等):
x = function() {
this.y = function() { /* ... */ };
function z() { /* ... */ }
};
此外,您可以包含字符串文字或注释,可以包含看起来像函数的(子)字符串:
var s = "function notAFunction(){}";
/*
function alsoNotAFunction(){}
*/
或包含的功能部件你的正则表达式将绊倒:
function f() {
var s = "not a closing bracket: } ";
}
因此,要回答你的问题是什么正则表达式将在JS匹配功能:它不存在。你应该/可以使用适当的解析器。
JavaScript函数你是想用正则表达式解析JS?如果是这样,不要。正则表达式是一个非常糟糕的解析器,请参阅这些问题。
RegEx match open tags except XHTML self-contained tags
If you're not supposed to use Regular Expressions to parse HTML, then how are HTML parsers written?
我知道这个问题已经5年了,但与其他人所说的相反,我实际上炮制了一个相当有效的模式,就像你所问的那样。虽然相当复杂,但我已经在自己的项目中多次使用过这些内容,但我还没有呃...希望我能早日看到这个问题。希望这有助于(如果不是你,希望为那些谁正在寻找一个类似的解决方案)
function\s*([A-z0-9]+)?\s*\((?:[^)(]+|\((?:[^)(]+|\([^)(]*\))*\))*\)\s*\{(?:[^}{]+|\{(?:[^}{]+|\{[^}{]*\})*\})*\}
可爱,但这里是一个简单的例子,不正确解析:function(){return“}”} – 2017-03-24 07:25:23
你以为你做的。但是你没有。你想要实现什么目标? – annakata 2010-11-17 13:31:26