string = 'a="1";b="5";d="4";';
我想在字符串中获取所有变量。我正在制作一个javascript验证器来获取我给定变量中的所有变量..
输出应该是
output = ["a","b","d"];
答案 0 :(得分:1)
尝试string.split(';').map(exp => exp.split('=')[0]).filter(x => x)
答案 1 :(得分:0)
var string = 'a="1";b="5";d="4";';
var regexp = /(\w+)=".*?";/g;
var result = [];
var match;
while (match = regexp.exec(string)) {
result.push(match[1]);
}
console.log(result);
您可以使用正则表达式匹配:
答案 2 :(得分:0)
与string.replace(/ = [^ =] * $ /"&#34)。分裂(/ = [^; =] +; /)
这个答案和涉及地图和过滤器的答案。如果您的值包含半冒号或等于字符,则无效。
此处的额外替换可让您忽略最后一个分号。
最好的方法是编写一个对引号进行计数并忽略字符串中任何内容的解析器。