Javascript 正则表达式匹配 JSON 键值对的值

新手上路,请多包涵

给定以下键值对,我如何才能只匹配值(包括引号)?

解释:我正在我的 IDE 中进行查找和替换。我有数百个键/值对,其中的值需要从字符串更改为对象。所以基本上替换了值。

 "ElevationFilenameIn": "Input raster elevation file",
"TargetCRS": "Target vertical coordinate reference system Type",
"featureName": "The name of the feature to extract, for example \"Vegetation\" or \"Water\"",
"TargetCRScode": "Target vertical coordinate system Code",
"TargetCRSfile": "The projection (.prj) file in shoebox to be used for this inputfile"

我的尝试(不起作用,甚至没有关闭):

 [:]\s*(\"\w*\")

原文由 bflemi3 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

您可以使用以下模式:

 [:]\s(\".*\")

并通过此链接对其进行测试: https ://regex101.com/r/nE5eV3/1

原文由 demartis 发布,翻译遵循 CC BY-SA 3.0 许可协议

我想这个也能很好地完成这项工作。一方面它不使用任何捕获组,另一方面它比公认的答案成本更高。

 [^:]+(?=,|$)

正则表达式可视化

Debuggex 演示

Regex101 演示

原文由 Redu 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题