我已经意识到实际上还有一些其他数据会导致我收到的解决方案出现问题。因此,我认为最好提出一个新问题
采取以下示例数据;
"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
修改
答案 0 :(得分:1)
通过阅读你的两个问题,我理解的是你想用双引号包装一些不是的数字,所以为此我可以想出一个像这样的简单正则表达式:
(?<=,)(\d+)(?=,)
使用替换字符串:"$1"
<强> Working demo 强>
更新:更新问题后,我在此处提供了答案的更新。你可以改用这个正则表达式:
(?<=,)\s*(\d+)\s*(?=,)