正则表达式匹配大写字符与小写搜索

Phi*_*ius 3 regex notepad++ lowercase uppercase

我正在使用notepad ++,我发现当我使用正则表达式搜索我特别想要找到小写字母("[az]")的字符串时,它有时会返回大写字母.

我最初使用字符串搜索:

^[A-Z][a-z].+?$
Run Code Online (Sandbox Code Playgroud)

目的是删除我的文件中以大写字符开头的任何行,后跟小写字母,后跟任何行直到行尾.但是,返回的行如"CLONE"和"DISEASE"只是大写字母.出于好奇,我试过:

^[a-z].+?$
Run Code Online (Sandbox Code Playgroud)

并且它仍然以全大写的形式返回那些行.最后,我试过:

^[\u0061-\u007A].+?$
Run Code Online (Sandbox Code Playgroud)

仍然返回全部大写文本行.我的括号外是否有引起这种情况的事情?

Wik*_*żew 6

与许多其他文本编辑器一样,Notepad ++提供了全局选项Match case.即使您的表达式不包含内部修饰符(?i),结果也可能是意外的,具体取决于Match case是设置为ON还是OFF.

因此,您的ALLCAPS行是有效匹配的^[A-Z][a-z].+?$.

选中Match case以启用正则表达式搜索的区分大小写:

在此输入图像描述