我怎么能写一个正则表达式,只匹配字母?
当前回答
只需使用\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]+
正如其他用户所说