Javascript 通过正则表达式从javastring函数获取所有变量

Javascript 通过正则表达式从javastring函数获取所有变量,javascript,regex,Javascript,Regex,嗨,我是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

嗨,我是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匹配只返回第一个匹配,我们必须循环以获取其余的值
  • 最后添加一个带有函数的过滤器

OP,您能添加到目前为止尝试的代码吗?是的,类似于var match=willBeRegex.exec(“function(){var a;var a,b,c;}”)和match[]的所有变量的集合为[a,b,c]