我有一个控制台输出,该输出是一个字符串{x:0,y:0,width:1920,height:1080},需要将其转换为对象,但是在所有属性都用引号引起来之前,我无法对其进行JSON.parse()。我设法找到了可以与任何单词匹配的正则表达式:\b[\w]+\b但是我不知道如何使用每一个匹配项'"' + match + '"'在双方替换。我意识到那里也有数字,所以也许这将是一个更好的正则表达式:\b[a-zA-Z]+\b只要属性名称不包含数字。
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
使用一个组(即:用(和包围模式))并使用进行访问$1:
var out = "{x:0,y:0,WIDTH:1920,hEiGhT:1080}";
var rgx = /\b([a-z]+)\b/gi; // use the flag 'i' to make it case-insensitive
console.log(out.replace(rgx, '"$1"'));
添加回答
举报
0/150
提交
取消