在 Notepad++ 中移动两个“\t”之间的所有文本

Move all text between two "\t" in Notepad++

我有超过一百万行这种格式的文本:

AAAA BBBBBBBBBBBBBBB CCCC

分隔 \t

我想要它的格式

AAAA_CCCC BBBBBBBBBBBBBBB

但我似乎无法弄清楚如何在 Notepad++ 中使用正则表达式来做到这一点

您可以在正则表达式模式下尝试以下查找和替换:

Find:    ^(\S+)\t(\S+)\t(\S+)$
Replace: _ 

这里是demo.

如果分隔符是制表符,可以使用

^[^\r\n\t]+\K\t([^\r\n\t]+)\t([^\r\n\t]+)$

模式匹配:

  • ^ 字符串开头
  • [^\r\n\t]+ 匹配除制表符或换行符以外的 1+ 个字符
  • \K\t 忘记到目前为止匹配的内容 \K 并匹配制表符
  • ([^\r\n\t]+) 捕获 组 1,匹配除换行符或制表符之外的任何 1+ 个字符
  • \t 匹配标签
  • ([^\r\n\t]) 捕获 组 2,匹配换行符或制表符以外的 1 个字符
  • $ 字符串结尾

在替换中使用 2 个捕获组,它们之间有一个下划线。

_ 

看到一个regex demo.

替换结果:

AAAA_CCCC   BBBBBBBBBBBBBBB