在 Notepad++ 中用相同的表达式替换

use*_*669 5 notepad++ find-and-replace

假设我有一个文本文件,其中两列数字由一个制表符分隔:

23  45
456 872
1569    489
78  357
789 94
Run Code Online (Sandbox Code Playgroud)

我希望能够在列之间添加一个附加选项卡。为了让示例更有意义,假设这些列被大量文本包围。

我的搜索表达式将是这样的: [0-9]\t[0-9]

我将如何格式化我的替换表达式,以便我不会丢失:

3 6 9 8 9 在第一列

4 8 4 3 9 在第二列

或者,更一般地说,我如何避免更改我的搜索表达式的一部分,这是识别文本的正确区域所必需的?

如果我使用 [0-9]\t\t[0-9] 作为我的替换表达式,我会得到这个:

2[0-9]      [0-9]5
45[0-9]     [0-9]72
156[0-9]        [0-9]89
7[0-9]      [0-9]57
78[0-9]     [0-9]4
Run Code Online (Sandbox Code Playgroud)

(显然,我将搜索模式设置为“正则表达式”。)

非常感谢任何帮助!

jcr*_*dor 18

Notepad++ 允许您在搜索正则表达式中使用捕获组,然后在替换中引用这些组。

因此,请使用搜索词([0-9])\t([0-9])。括号告诉 Notepad++“捕获”与正则表达式的那部分匹配的文本部分 - 在这种情况下,标签之前和之后的数字。

在您更换表情,是指那些捕捉组,就像这样:\1\t\t\2。在\1\2参照第一和第二捕捉组。