我试图检索两个双括号之间的两个变量。到目前为止,我有这样的:正则表达式检索括号内的两个变量
var regex = /\[\[\s([a-z]+):*\s*([\d])*\s\]\]/g;
var obj = {};
var text = '[[ dogs: 1 ]] [[ dogs: 2 ]] [[ cats: 1 ]]';
var module = text.replace(regex, function (match, key, value) {
obj[key] = value;
console.log(obj);
});
的结果是:
Object {dogs: "2", cats: "1"}
我要的是:
Object {dogs: "1", dogs: "2", cats: "1"}
对我的生活中,我想不通为什么狗只能说明第二个ID。
为什么要将两个不同的值分配给一个属性......? – ElDoRado1239 2014-12-03 17:24:31
您正在覆盖密钥。尝试使用数组而不是对象。 – Jonnerz 2014-12-03 17:25:58
尝试在JavaScript控制台中输入'({dogs:“1”,dogs:“2”,cats:“1”})''。 – 2014-12-03 17:26:38