如何在 Notepad++ 中删除与特定模式匹配的两行之间的一行

如何在 Notepad++ 中删除与特定模式匹配的两行之间的一行

输入我的文件是:

bsg23
< Hi James
ab89n
> Hi Jamy
nd87a
< What about weekend?
90hsg
> What about sat/sun?

输出应该来 :

< Hi James
> Hi Jamy
< What about weekend?
> What about sat/sun?

表示删除'>'和'<'之前行的内容。

有人能帮忙吗?提前致谢。

答案1

在 Notepad++ 6.9.1 中,我可以通过选择“搜索”->“替换...”并在“查找内容:”字段中输入以下正则表达式来做到这一点:

(^[^<>\n]+)\n|\n[^<>\n]+

然后将“替换为:”字段留空,并将搜索模式设置为“正则表达式”,取消选中“。匹配换行符”,然后按“全部替换”。

怎么运行的

(^[^<>\n]+)\n|\n[^<>\n]+Notepad++ 正则表达式

(^[^<>\n]+)\n<是匹配不以或开头的行的子表达式>。这将匹配示例输入“bsg23”中的第一行文本。

|表示两个子表达式之间的交替

\n[^<>\n]+匹配换行符后跟非<、或换行符的字符。这将匹配以或>开头的行末尾的换行符以及下一行的后续文本。<>

相关内容