如何用自己和某些串联替换每一个正则表达式匹配项?

我有一个控制台输出,该输出是一个字符串{x:0,y:0,width:1920,height:1080},需要将其转换为对象,但是在所有属性都用引号引起来之前,我无法对其进行JSON.parse()。

我设法找到了可以与任何单词匹配的正则表达式:\b[\w]+\b但是我不知道如何使用每一个匹配项'"' + match + '"'在双方替换。我意识到那里也有数字,所以也许这将是一个更好的正则表达式:\b[a-zA-Z]+\b只要属性名称不包含数字。


小唯快跑啊
浏览 160回答 1
1回答

千巷猫影

使用一个组(即:用(和包围模式))并使用进行访问$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-insensitiveconsole.log(out.replace(rgx, '"$1"'));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript