用于java的String.matches方法的正则表达式?

基本上我的问题是这个,为什么:

String word = "unauthenticated"; word.matches("[az]"); 

归还假吗? (在java1.6中开发)

基本上我想看看传递给我的字符串是否有alpha字符。

String.matches()函数将正则表达式与整个字符串相匹配(就好像你的正则表达式在开始时有^ ,在结尾有$ )。 如果要在字符串中的某处搜索正则表达式,请使用Matcher.find()

正确的方法取决于您想要做什么:

  1. 检查输入字符串是否完全由字母字符组成( String.matches()[az]+
  2. 检查输入字符串是否包含任何字母字符(可能还有其他字符)( Matcher.find() with [az]

您的代码正在检查该单词是否与一个字符匹配。 您要检查的是该单词是否与以下任意数量的字母字符匹配:

 word.matches("[az]+"); 

[az]你算一个字符。

您可能正在寻找的是[az]*