我需要通过一个简短的 Java(不是 JS!)正则表达式片段来清理一个 JSON,包括错误引用的数字。我所拥有的示例:
[{"series":"a","x":"1","y":"111.71"},{"series":"a","x":"2","y":"120.25"}]
我需要得到的示例:
[{"series":"a","x":1,"y":111.71},{"series":"a","x":2,"y":120.25}]
所以我只需要匹配和消除前面或后面有[0-9]的引号字符,但是如何避免替换部分数字超出了我的低级正则表达式技能。
非常感谢任何帮助!
编辑(第二轮):
感谢您的快速反馈!我不太担心误报,因为我可以控制描述符的内容,并且我会确保它们是纯文本的。空格也可以避免,只可能出现负数 - 好一个!对于 JSON,分隔符始终为逗号 (","),双精度值中的任意小数位数始终由点 (".") 分隔。不幸的是,我无法修复 JSON 源,我肯定想用 Java 清理它。
现在尝试这些建议并报告回来。我也会玩弄这个: http ://www.regular-expressions.info/lookaround.html#lookbehind