分隔 json 键:逗号分隔的值,但值引号内没有闭引号

  • 本文关键字:分隔 json regex
  • 更新时间 :
  • 英文 :


例如,我有这个json:

{"a":"some value", "b":"some value", "c": "some ," value"}

我需要得到:

"a":"some value" and "b":"some value" and "c": "some ," value"

我已经以这个正则表达式(,)(?=(?:[^"]|"[^"]*")*$)结束,但这不适用于第三个键值对。

如果你真的必须用正则表达式来做到这一点,那么你可以尝试:

(".*?(?<!\)")s*:s*(".*?(?<!\)")
  • (".*?- 启动捕获组并匹配左双引号,并延迟匹配零个或多个任何字符
  • (?<!\)- 确保不在结束双引号之前
  • ")- 查找结束双引号并关闭捕获组
  • s*:s*- 匹配由可选空格包围的冒号:
  • (".*?(?<!\)")- 请参阅要点 1 至 3

https://regex101.com/r/25qa84/1

最新更新