4万行JSON中带引号日期与数值去引号的正则表达式需求
解决JSON中带引号的日期和数值去引号问题
嘿,我懂你现在的麻烦——4万行的JSON要批量处理,之前的正则太死板根本覆盖不了所有情况对吧?别发愁,我给你调整两个精准的正则,分两步就能搞定。
先处理数值(含千分位、小数)
你的需求里数值格式包括"33,300,000.45"这种带千分位和小数的,还有可能存在"123"、"1,234"、"123.45"这类变体。之前的正则只匹配固定结构的数值,完全不通用,试试这个:
查找正则:
"(\d{1,3}(?:,\d{3})*(?:\.\d+)?)"
替换为:
$1
正则拆解:
\d{1,3}:匹配开头1到3位数字(对应千分位的起始部分)(?:,\d{3})*:非捕获组,匹配0个或多个「逗号+三位数字」的组合(覆盖任意数量的千分位分隔)(?:\.\d+)?:非捕获组,匹配可选的「小数点+至少一位数字」(覆盖有无小数的情况)- 整个括号里的内容会被捕获为分组1,替换时直接用
$1输出,自动去掉外层双引号
再处理日期(MM/DD/YYYY格式)
针对你示例里的"5/9/2026"这种日期格式,用下面的正则:
查找正则:
"(\d{1,2}/\d{1,2}/\d{4})"
替换为:
$1
正则拆解:
\d{1,2}/\d{1,2}/\d{4}:匹配「1-2位数字/1-2位数字/4位数字」的日期格式,不管月、日是单双位数都能覆盖
操作步骤(以VS Code为例)
- 先备份原JSON文件!批量操作前备份永远是第一要务,防止误操作搞崩数据
- 打开文件,按下
Ctrl+H调出替换面板 - 点击面板右侧的
.*图标开启正则模式 - 先粘贴数值的查找和替换内容,点击「全部替换」
- 再粘贴日期的查找和替换内容,点击「全部替换」
这样处理后,你的示例输入:
"date": "5/9/2026", "cost": "33,300,000.45", "insured": "33,295,198.12"
就会变成你想要的输出:
"date": 5/9/2026, "cost": 33,300,000.45, "insured": 33,295,198.12
小提醒
- 如果你的JSON里还有其他类似格式但不是日期/数值的字符串(比如带斜杠或逗号的文本),建议先选一小块内容测试正则,没问题再批量替换
- 要是还有其他日期格式(比如DD/MM/YYYY、YYYY-MM-DD),可以调整日期正则的结构,比如YYYY-MM-DD的话用
"(\d{4}-\d{2}-\d{2})"就行
内容的提问来源于stack exchange,提问作者Snk
相关产品推荐
相关产品推荐

