【发布时间】:2010-12-10 02:22:47
【问题描述】:
基本上我的问题是这样的,为什么是:
String word = "unauthenticated";
word.matches("[a-z]");
返回假? (java1.6开发)
基本上我想看看传递给我的字符串是否包含字母字符。
【问题讨论】:
基本上我的问题是这样的,为什么是:
String word = "unauthenticated";
word.matches("[a-z]");
返回假? (java1.6开发)
基本上我想看看传递给我的字符串是否包含字母字符。
【问题讨论】:
String.matches() 函数将您的正则表达式与 整个 字符串匹配(就好像您的正则表达式在开头有 ^,在结尾有 $)。如果要在字符串中的某处搜索正则表达式,请使用Matcher.find()。
正确的方法取决于你想做什么:
String.matches() 和[a-z]+)Matcher.find() 和[a-z])【讨论】:
您的代码正在检查单词是否匹配一个字符。您要检查的是单词是否匹配任意数量的字母字符,如下所示:
word.matches("[a-z]+");
【讨论】:
+ 表示 1 个或多个前面的元素。
* 而不是+ 也没有问题。也许你正在失去它...... :-)
[a-z] 你算一个字符。
您可能正在寻找的是[a-z]*
【讨论】: