如何删除不包含任何大写字母或小写字母或数字的行 notepad++

如何删除不包含任何大写字母或小写字母或数字的行 notepad++

我只想保留包含以下内容的行

至少 1 个大写字母

至少 1 个小写字母

至少 1 个数字

例子:

:soTest.@1rTr
:$TEST%.TER12TB&
:-G5O6D$G%R@RS
:sbg^45re$55
:@65RR$#955
:*S.baR5t6s

结果:

:soTest.@1rTr
:*S.baR5t6s

因此,如果 : 之后的任何位置的整行不包含大写字母和小写字母以及数字,则将其删除或添加为书签,反之亦然

答案1

我建议你使用 regexp 来实现这一点。我不习惯使用 notepad++,但 ctrl+H 应该可以打开 replace。(我在 sublime text 3 上尝试了以下操作)

^(?!(^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).+$)).*$

这应该与所有不属于结果的部分相匹配。

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).+$

这应该匹配结果中的行。因此,匹配不属于结果的行并将其替换为空字符串

答案2

查找和替换中的以下正则表达式应该能够完成您要查找的操作:

^(?:((?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).+)|.+[\r\n]*)

确保您已选中“匹配大小写”和“正则表达式搜索模式”,替换为$1,并且您已选择了整个文本或光标位于文本的开头(正则表达式替换仅发生在光标当前位置之前或之后的一个方向上):

在此处输入图片描述

在此处输入图片描述

该表达式既匹配您想要保留的字符串,也匹配您想要删除的字符串,但在匹配后只放回您想要保留的字符串。

相关内容