
若是图片看不清楚,下面是图片内容:
解析前: name:chenxuelong,sex:male,height:[10,{name:sex,male:nihao},30,40,50,80],color:{type:color,sex:male,test:[1,2,3]}
解析后:["name:chenxuelong", "sex:male", "height:[10,{name:sex,male:nihao},30,40,50,80],color:{type:color,sex:male,test:[1,2,3]"]
我的正则是这么写的:var reg = /\w+:\w+|\w+:\[.*\]|\w+:\{.*\}/g;
使用str.match(reg) 获取后的结果如上;
最后一个匹配出错了,总之,最终结果应该是这样的:
["name:chenxuelong", "sex:male", "height:[10,{name:sex,male:nihao},30,40,50,80]", "color:{type:color,sex:male,test:[1,2,3]"]
而不是上面显示的结果:["name:chenxuelong", "sex:male", "height:[10,{name:sex,male:nihao},30,40,50,80],color:{type:color,sex:male,test:[1,2,3]"]
求教,js正则该怎么写???
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你那个解析后的不是合法的JSON字符串。转成合法的JSON字符串如下:
解析之后也不是json,json格式不是这样的,只需要把所有含字母的值加引号,再JSON.parse即可
如果非要按照你的这种写法来,最后顶多就是一个一维数组。而且这正则还真难写,求高手