javascript - 如何用自身和一些连接替换每个正则表达式匹配?
问题描述
我有一个控制台输出,它是一个字符串{x:0,y:0,width:1920,height:1080}
,需要将其转换为对象,但我不能 JSON.parse() 它直到所有属性都被引号包围。
我设法找到与任何单词匹配的正则表达式:\b[\w]+\b
但我不知道如何使用每个匹配项来替换'"' + match + '"'
双方。我意识到那里也有数字,所以也许这将是一个更好的正则表达式:\b[a-zA-Z]+\b
前提是属性名称从不包含数字。
解决方案
使用一个组(即:用(
and包围模式)
)并用 访问它$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"'));
推荐阅读
- google-cloud-platform - 如果使用 CloudSQL 代理连接到 CloudSQL 数据库,那么为什么我仍然会收到 SHA 警报 SSL_NOT_ENFORCED?
- dart - Dart Aqueduct 使用哪个版本?
- r - 如何在散点图中绘制不同的周末天数?
- php - 如何防止 json_encode 对现有 json 进行编码
- sql-server - SQL 触发器在播放中有效,但在生产中无效
- javascript - 如何在 React 功能组件中限制 onWheel 事件
- python - 气流网络服务器 gettins valueError:Samesite
- c# - DateTime.ParseExact 无法转换为正确的日期
- docusaurus - 使它如此 docusaurus 上传到子目录而不是 web 根目录
- gdb - 缓冲区溢出 - 格式字符串漏洞和利用