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

时间:2010-12-10 02:22:48

标签: java regex string

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

String word = "unauthenticated";
word.matches("[a-z]");

返回false? (在java1.6中开发)

基本上我想知道传递给我的字符串是否包含alpha字符。

3 个答案:

答案 0 :(得分:22)

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

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

  1. 检查输入字符串是否包含完全字母字符(String.matches()[a-z]+
  2. 检查输入字符串是否包含任何字母字符(可能还包含其他字符)(Matcher.find() [a-z]}

答案 1 :(得分:4)

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

word.matches("[a-z]+");

答案 2 :(得分:1)

[a-z]你算上一个字符。

您可能正在寻找的是[a-z]*