用于java的String.matches方法的正则表达式?
基本上我的问题是这个,为什么:
String word = "unauthenticated"; word.matches("[az]");
归还假吗? (在java1.6中开发)
基本上我想看看传递给我的字符串是否有alpha字符。
String.matches()
函数将正则表达式与整个字符串相匹配(就好像你的正则表达式在开始时有^
,在结尾有$
)。 如果要在字符串中的某处搜索正则表达式,请使用Matcher.find()
。
正确的方法取决于您想要做什么:
- 检查输入字符串是否完全由字母字符组成(
String.matches()
和[az]+
) - 检查输入字符串是否包含任何字母字符(可能还有其他字符)(
Matcher.find()
with[az]
)
您的代码正在检查该单词是否与一个字符匹配。 您要检查的是该单词是否与以下任意数量的字母字符匹配:
word.matches("[az]+");
用[az]
你算一个字符。
您可能正在寻找的是[az]*