在 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
我有超过一百万行这种格式的文本:
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