js如何根据字符串里面的符号把字符串分割成数组?

我得到一个字符串:
str ="color:red,blue;shape:正方形;size:5,12;"
我想得到的是color,shape,size这些属性和他们对应的值,
我的思路是先根据";"(分号)把他们分开,再根据“:”(冒号)把他们分开,最后根据“,”(逗号)把他们分开,
split这个貌似不行啊,

var str = "color:red,blue;shape:正方形;size:5,12;"
var reg = /([^::;;]+)[::\s]+([^::;;]*)/g;
while(reg.exec(str)){
    console.log(RegExp.$1 + ": " + RegExp.$2);
}

追问

大神,您稍微讲一下呗,我连split都用不好,正则才刚刚起步。

追答

没有什么说的,我口才不好呢,你看附件吧,我都是找那个练习的。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答