用Regex替换JSON密钥

时间:2016-09-29 07:58:58

标签: regex

如何使用正则表达式将'{"a_b": "a_bc", "de_": "b_de", "ab_dc": 12342}'替换为以下内容:

'{"ab": "a_bc", "de": "b_de", "abdc": 12342}'

2 个答案:

答案 0 :(得分:1)

仅适用于您的特定测试用例:

https://regex101.com/r/dwTbTM/2

关键的正则表达式模式:/\"([a-z]+)_(\w+)?\":/

答案 1 :(得分:1)

发布此解决方案是因为,如果密钥中包含多个下划线,并且可以使用以下正则表达式,则当前接受的解决方案似乎不起作用,

_+(?=[^"]*"\s*:)

说明:

  • _+-匹配一个或多个需要替换的下划线

  • (?=[^"]*"\s*:)-这种前瞻性确保可以看到双引号,后跟可选的空格和冒号,这就是它仅选择键中存在的下划线的方式

Demo