通过正则表达式从javastring函数中获取所有var



你好,我是Regex的新手,并试图得到下面,javascript中有一个字符串

"function(){var a; var a,b,c;}"

,我试着从中找出[a,b,c]。请建议我得到所有变量声明在字符串,什么将是正则表达式。

一个非常非常操纵性的解决方案,但将达到您的目的

function uniq(value,index,self){
    return self.indexOf(value) === index;
}
var str = "function(){var a; var a,b,c;}";
var ptrn = /var [^;]+/g;
var match;
var matches = []
while ( ( match = ptrn.exec(str) ) != null )
{
    matches.push(match.join().split(" ")[1]);
}
console.log(matches.join(",").split(",").filter(uniq));

但是如果你理解了这段代码,你就不需要搜索:

    如何从js数组中获取唯一值
  • 与exec匹配模式如何只返回第一个匹配,我们必须循环获取其余的值
  • 终于添加了一个带有函数的过滤器。

最新更新