Regex 记事本中的正则表达式++;w/查找并更换
我有如下数据:Regex 记事本中的正则表达式++;w/查找并更换,regex,replace,find,notepad++,Regex,Replace,Find,Notepad++,我有如下数据: 1 ,11/10/2015, 1 3 2 ,01/15/2013 3 ,04/10/2015, 5 5 4 ,04/01/2013, 165 5 ,07/01/2016, 311 312 我需要找到每一个看起来像第1行、第3行和第5行的实例,并用逗号替换两组数字之间的空白,使它们变成: 1 ,11/10/2015, 1,3 2 ,01/15/2013 3 ,04/10/2015, 5,5 4 ,04/01/2013, 165 5 ,07/
1 ,11/10/2015, 1 3
2 ,01/15/2013
3 ,04/10/2015, 5 5
4 ,04/01/2013, 165
5 ,07/01/2016, 311 312
我需要找到每一个看起来像第1行、第3行和第5行的实例,并用逗号替换两组数字之间的空白,使它们变成:
1 ,11/10/2015, 1,3
2 ,01/15/2013
3 ,04/10/2015, 5,5
4 ,04/01/2013, 165
5 ,07/01/2016, 311,312
我很接近这个:
[^(^\d{1,3})][[^(\d{1,3})]\s+(\d{1,3})\r
,但它保留了两组数字和空白。需要将查找结果隔离到两组数字之间的空白处。前导数字(1-5)不在我的数据集中。为了便于阅读,这里只包含这些内容。如果每行只有一个空格分隔的数字对,您可以使用
(\d+)\h+(\d+)
并替换为$1,$2
如果需要定义更多的上下文并使regex替换更安全,请考虑
,\h*\K(\d+)\h+(\d+)$
详细信息:
-逗号,
-0+水平空白\h*
-忽略迄今为止匹配的所有文本\K
-第1组:一个或多个数字(\d+)
-1+水平空白\h+
-第2组:一个或多个数字(\d+)
-行结束$
(\d+)\h+(\d+)似乎可以这样做。非常感谢。我只是发现每个看起来像第1、3和5行的实例的需求都有点模糊,所以我建议的初始正则表达式有点限制。很高兴简化版也能用。我交换了答案中的解决方案。如果这是您的输入,也许用
替换,
就足够了。