假设我有一个文本文件,其中有两列数字,由一个制表符分隔:
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
引用第一个和第二个捕获组。