用json数据中的引号括起整数

时间:2016-10-19 15:06:58

标签: json regex

我创建了this question yesterday

我已经意识到实际上还有一些其他数据会导致我收到的解决方案出现问题。因此,我认为最好提出一个新问题

采取以下示例数据;

"87",0000,0767,"078",0785,"0723",23487, "061 904 5284","17\/10\/2016","some.name.789@hotmail.com"

使用(?<!")(\b\d+\b)(?!")

上方接受的解决方案表单

日期字符串最终在两个\/包装之间有中间数字,带空格的引号中的数字以及电子邮件地址。 问题可以在这里看到:https://regex101.com/r/qVQYA7/6

我的解决方案

以下似乎对我有用,但似乎有点凌乱。我觉得有一种更简洁的方法可以达到相同的效果;

,(?<!("|\/|\\))(\b\d+\b)(?!("|\/|\\|( \d)))替换为,"$2"

https://regex101.com/r/qVQYA7/5

修改

@Federico这个截图显示逗号之前或之后的空格打破了替换; enter image description here

1 个答案:

答案 0 :(得分:1)

通过阅读你的两个问题,我理解的是你想用双引号包装一些不是的数字,所以为此我可以想出一个像这样的简单正则表达式:

(?<=,)(\d+)(?=,)

使用替换字符串:"$1"

<强> Working demo

enter image description here

更新:更新问题后,我在此处提供了答案的更新。你可以改用这个正则表达式:

(?<=,)\s*(\d+)\s*(?=,)