我需要帮助才能使用 Notepad++ 将行从下面的文本移动到上一行。
我可以使用正则表达式吗?
PID: AIR-CAP3502I-T-K9, VID: V01, SN: 0000000000
Inventory for XXXXXXXXXXX
PID: AIR-CAP3502I-T-K9, VID: V01, SN: 0000000000
Inventory for XXXXXXXXXXX
PID: AIR-CAP3502I-T-K9, VID: V01, SN: 0000000000
[在此输入图像描述]
TM
我尝试使用一些正则表达式,但它没有按预期工作。
Search: \n(.+)$
Replace: $1
Search: \n(.+)
Replace: $1
假设您想将
Inventory for
行移动到前面的行,并用空格分隔,您可以在正则表达式模式下使用以下查找和替换:
Find: \R\s{5,}
Replace: (single space)
图案说明:
\R
匹配 LF \n
或 CRLF \r\n
\s{5,}
然后匹配 5 个或更多空格(任意)引导下一行然后,我们只替换为一个分隔空格。
正则表达式
\n(.+)$
将匹配换行符后面的任何内容,直到行尾。但是,您似乎想匹配以“PID”开头的任意两行,然后删除中间的换行符。
这有效:
^PID(.*)\r\n(.*)$
和PID$1 $2
。
请注意,Notepad++ 使用的正则表达式方言对于
\n
来说不是很聪明,因此要匹配 Windows 换行符(即 CR+LF),您必须专门使用 \r\n
(并确保正则表达式引擎不会匹配换行符 .
)