适配VS Code查找替换:如何用正则匹配JSON中Value属性的整数字符串值并去除双引号
解决VS Code中精准替换JSON里Value属性整数字符串引号的问题
我懂你想要的是精准锁定"Value"属性下被双引号包裹的整数字符串,不会误匹配其他字段里的数字引号。这里给你一套适配VS Code查找替换功能的正则方案,亲测有效:
查找正则表达式
("Value":\s*)"(\d{1,2})"
替换内容
$1$2
正则逻辑拆解
"Value":\s*:精准匹配"Value":及其后面任意数量的空白字符(包括空格、换行、制表符,兼容不同格式的JSON),直接锁定目标属性,避免误匹配其他字段。"(\d{1,2})":捕获被双引号包裹的1-2位整数(和你需求里的数字范围一致),括号把数字本身标记为捕获组,方便替换时复用。- 替换时用
$1保留"Value":和后续空白,$2直接引用捕获到的纯数字,完美去掉数字两侧的双引号。
VS Code操作步骤
- 打开目标JSON文件,按下
Ctrl+H(Windows/Linux)或Cmd+H(Mac)调出查找替换面板。 - 点击面板右上角的
.*按钮,开启正则表达式匹配模式。 - 把上面的正则粘贴到查找框,替换框粘贴
$1$2。 - 先点击「查找下一个」验证匹配是否精准,确认无误后点击「替换全部」即可。
测试你的示例JSON
原片段:
{"displayName": "FirewallRules/12/Action", "description": null, "@odata.type": "#microsoft.graph.omaSettingInteger", "Value": "1", "omaUri": "./Device/Vendor/MSFT/Firewall/MdmStore/FirewallRules/{firewallrulename}/Action/Type"}
替换后结果:
{"displayName": "FirewallRules/12/Action", "description": null, "@odata.type": "#microsoft.graph.omaSettingInteger", "Value": 1, "omaUri": "./Device/Vendor/MSFT/Firewall/MdmStore/FirewallRules/{firewallrulename}/Action/Type"}
完全符合你的需求,而且不会误修改displayName里的12这类其他位置的数字。
内容的提问来源于stack exchange,提问作者Daikyu
相关产品推荐
相关产品推荐

