我怎么能写一个正则表达式,只匹配字母?


当前回答

只需使用\w或[:alpha:]即可。它是一个转义序列,只匹配可能出现在单词中的符号。

其他回答

这取决于你对“性格”的理解:

[A-Za-z] -所有字母(大写和小写)

[^0-9] -所有非数字字符

Pattern pattern = Pattern.compile("^[a-zA-Z]+$");

if (pattern.matcher("a").find()) {

   ...do something ......
}

正则表达式,很少有人写为“/^[a-zA-Z]$/i”是不正确的,因为最后他们提到了/i,这是不区分大小写的,在第一次匹配后,它将返回。用/g代替/i,它是全局的,你也不需要用^ $作为开始和结束。

/[a-zA-Z]+/g

[a-z_]+匹配下面列表中的单个字符 量词:+在一到无限次之间,尽可能多的次数,在需要的时候回馈 a-z在a和z之间的单个字符(区分大小写) a -Z在a和Z之间的单个字符(区分大小写) G修饰符:全局。所有比赛(第一场比赛不返回)

/[a-zA-Z]+/

非常简单的例子。正则表达式在网上非常容易找到。

http://www.regular-expressions.info/reference.html

最接近的选择是

[\u\l]+

匹配大写字母和小写字母的序列。但是,并非所有编辑器/语言都支持它,因此使用它可能更安全

[a-zA-Z]+

正如其他用户所说