1

只是想知道在正则表达式(在 java 中)中指定字母的最简单方法是什么,由正则表达式中的字符数来衡量。例如,\w不起作用,因为它包含数字和下划线。

这里有几个选项:

  • \p{Alpha}
  • [a-zA-Z]

有没有更短的?它经常出现,很高兴知道。

4

2 回答 2

2

这个怎么样:

\pL

它匹配一个 Unicode 字母。

下面的表达式只匹配[a-zA-Z]并且它只有八个字符,但是反斜杠需要在 Java 字符串文字中进行转义,这会将字符数增加到 10。

[^\PL\W]
于 2012-12-23T03:38:43.790 回答
0

这是我能想到的最短的:

(?i)[a-z]

但是,这会case-insensitive为正则表达式的其余部分打开开关,因此如果正则表达式的其余部分需要区分大小写,则需要再次关闭开关:

(?i)[a-z](?-i)

这使它.[a-zA-Z]

因此,如果适合这种情况,这个答案可能是最短的。

于 2012-12-23T03:40:03.183 回答