基本上我的问题是这个,为什么:
String word = "unauthenticated";
word.matches("[a-z]");
返回false? (在java1.6中开发)
基本上我想知道传递给我的字符串是否包含alpha字符。
答案 0 :(得分:22)
String.matches()
函数将正则表达式与整个字符串相匹配(就好像你的正则表达式在开始时^
和最后的$
一样。如果要在字符串中的某处搜索正则表达式,请使用Matcher.find()
。
正确的方法取决于您想要做什么:
String.matches()
和[a-z]+
)Matcher.find()
[a-z]
} 答案 1 :(得分:4)
您的代码正在检查该字词是否与一个字符匹配。您要检查的是该单词是否与以下任意数量的字母字符匹配:
word.matches("[a-z]+");
答案 2 :(得分:1)
[a-z]
你算上一个字符。
您可能正在寻找的是[a-z]*