只是想知道在正则表达式(在 java 中)中指定字母的最简单方法是什么,由正则表达式中的字符数来衡量。例如,\w
不起作用,因为它包含数字和下划线。
这里有几个选项:
\p{Alpha}
[a-zA-Z]
有没有更短的?它经常出现,很高兴知道。
这个怎么样:
\pL
它匹配一个 Unicode 字母。
下面的表达式只匹配[a-zA-Z]
并且它只有八个字符,但是反斜杠需要在 Java 字符串文字中进行转义,这会将字符数增加到 10。
[^\PL\W]
这是我能想到的最短的:
(?i)[a-z]
但是,这会case-insensitive
为正则表达式的其余部分打开开关,因此如果正则表达式的其余部分需要区分大小写,则需要再次关闭开关:
(?i)[a-z](?-i)
这使它比.[a-zA-Z]
因此,如果适合这种情况,这个答案可能是最短的。