Notepad++:: 通过 Regex 完全删除包含问号的行

Notepad++:: Completely remove lines that contains question mark via Regex

好吧,我想这就是我要实现的目标的自我解释。

这是我当前文本文件的示例:

"Diva" was the winning song of the Eurovision Song Contest 1998.
Who will win Eurovision Song Contest 2015?
Eurovision Song Contest Statistics:
Who will win Eurovision 2015?

这就是我想要得到的:

"Diva" was the winning song of the Eurovision Song Contest 1998.
Eurovision Song Contest Statistics:

所以基本上包含 ? 字符的每一行(位置不一定必须在行尾)将被替换为空。

我已经试过了[^\r\n]*?[^\r\n]*([\r\n]+|$)但是它删除了太多。

^[^\n]*\?[^\n]*(?:\n|$)

通过 empty string 尝试 this.Replace。查看演示。

https://regex101.com/r/sJ9gM7/76

您可以使用 [^\r\n]*\?[^\r\n]*([\r\n]+|$) 正则表达式来匹配具有 ? 符号的行。马克. matches newline.

替换为空字符串。

为了处理任何换行:

查找内容:^.*\?.*(\R|$)
替换为:<NOTHING>

\R 代表任何换行符,即。 \r\n\r\n

确保选中 Regular Expressiondot matches newline 未选中。

您可以避免使用正则表达式并使用查找 window 的标记 选项卡。 Select 搜索模式普通,也select 书签行。将 Find what 设置为 ?,然后单击 Mark all。接下来使用菜单 => Search => Bookmarks => Remove bookmarked lines.