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

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

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

23  45
456 872
1569    489
78  357
789 94

并且我希望能够在列之间添加一个额外的标签。为了让示例更有意义,我们假设这些列被大量文本包围。

我的搜索表达式将是这样的:[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

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

非常感谢您的帮助!

答案1

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

因此,使用搜索词([0-9])\t([0-9])。括号告诉 Notepad++“捕获”与正则表达式匹配的文本部分 - 在本例中,是制表符前后的数字。

在替换表达式中,引用这些捕获组,如下所示:\1\t\t\2\1\2引用第一个和第二个捕获组。

相关内容