Notepad ++ Regex:查找所有1和2个字母的单词

Mes*_*ika 4 regex notepad++

我正在使用Notepad ++中有200.000+行的文本文件.每行只有一个单词.我需要删除并删除所有只包含一个字母的单词(例如:I)和仅包含两个字母的单词(例如:as).

我以为我可以像这样常规正则表达式,[a-zA-Z]{1,2}但我不认识任何东西(我试图标记它们).

我已经完成了手动搜索,我知道确实存在那个长度的单词,所以只有我的正则表达式代码才有问题.任何人都知道如何在Notepad ++中执行此操作???

干杯,
- 梅斯蒂卡

Mar*_*der 6

如果您只想删除单词但将行留空,则可以:

^[a-zA-Z]{1,2}$
Run Code Online (Sandbox Code Playgroud)

用空字符串替换它.^并且$是一行的开头和结尾的锚点(因为Notepad ++的正则表达式在多行模式下工作).

如果要完全删除这些行,请搜索以下内容:

^[a-zA-Z]{1,2}\r\n
Run Code Online (Sandbox Code Playgroud)

并用空字符串替换.但是,这在Notepad ++ 6之前不起作用,因此请确保它是最新的.

请注意,您必须替换\r\n文件的特定行尾!

正如Tim Pietzker所建议的那样,一个独立于平台的解决方案也可以删除空行:

^[a-zA-Z]{1,2}[\r\n]+
Run Code Online (Sandbox Code Playgroud)

一个独立于平台的解决方案,它不会删除空行,而只删除那些带有一个或两个字母的空行:

^[a-zA-Z]{1,2}(\r\n?|\n)
Run Code Online (Sandbox Code Playgroud)