Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 记事本中的正则表达式++;w/查找并更换_Regex_Replace_Find_Notepad++ - Fatal编程技术网

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+)$
详细信息

  • -逗号
  • \h*
    -0+水平空白
  • \K
    -忽略迄今为止匹配的所有文本
  • (\d+)
    -第1组:一个或多个数字
  • \h+
    -1+水平空白
  • (\d+)
    -第2组:一个或多个数字
  • $
    -行结束

(\d+)\h+(\d+)似乎可以这样做。非常感谢。我只是发现每个看起来像第1、3和5行的实例的需求都有点模糊,所以我建议的初始正则表达式有点限制。很高兴简化版也能用。我交换了答案中的解决方案。如果这是您的输入,也许用
替换,
就足够了。