You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则表达式需求:为文件未引号词加引号并选择冒号前整词

当然可以!针对你的两个需求,我来详细给你说明:

1. 给未加引号的JSON键添加引号的正则方案

要给所有冒号前未加引号的合法标识符添加引号,你可以用下面的正则查找和替换规则(适用于VS Code、Sublime Text等支持正则替换的编辑器):

查找正则:

(\b[a-zA-Z_][a-zA-Z0-9_]*\b)(?=\s*:)

替换内容:

"$1"

正则解释:

  • \b:单词边界,确保我们匹配的是完整的单词,不会误匹配字符串中间的类似字符
  • [a-zA-Z_][a-zA-Z0-9_]*:匹配JSON合法的键名(必须以字母或下划线开头,后面可以跟字母、数字、下划线)
  • (?=\s*:):正向预查,确保这个单词后面紧跟着冒号(允许冒号前有任意空格)

效果演示

把你提供的原始内容:

{ "performanceHighToLow" : { tabs : { bySales : "by sales", byOrder : "by order" }, category : "performanceHighToLow", onTabClick }, performanceLowToHigh : { tabs : { bySales : "by sales", byOrder : "by order" }, category : "performanceLowToHigh", onTabClick } }

替换后会变成:

{ "performanceHighToLow" : { "tabs" : { "bySales" : "by sales", "byOrder" : "by order" }, "category" : "performanceHighToLow", "onTabClick" }, "performanceLowToHigh" : { "tabs" : { "bySales" : "by sales", "byOrder" : "by order" }, "category" : "performanceLowToHigh", "onTabClick" } }
2. 匹配冒号前完整单词的方法

其实上面的正则已经完美实现了“选择冒号前完整单词”的需求——正则里的捕获组$1就是我们要找的冒号前的完整单词。

如果你只是想单独匹配这些单词,直接用这个正则即可,它会精准定位所有位于冒号前(允许空格)的合法标识符,而且通过\b保证是完整的单词,不会出现匹配部分字符的情况。

比如在你的例子里,它会匹配到tabs、bySales、byOrder、category、onTabClick这些目标单词。

内容的提问来源于stack exchange,提问作者Bharat Soni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:29:06