В основном мой вопрос таков:
String word = "unauthenticated"; word.matches("[a-z]");
возвращает ложь? (Разработано в Java1.6)
В основном я хочу посмотреть, есть ли в передаваемой мне строке альфа-символы.
Функция String.matches() сопоставляет ваше регулярное выражение со строкой целом (как если бы у вашего регулярного выражения было ^ в начале и $ в конце).Если вы хотите найти регулярное выражение где-нибудь в строке, используйте Matcher.find().
String.matches()
^
$
Matcher.find()
Правильный метод зависит от того, что вы хотите сделать:
[a-z]+
[a-z]
Ваш код проверяет, соответствует ли слово одному символу.Вы хотите проверить, соответствует ли слово какому-либо количеству буквенных символов, например:
word.matches("[a-z]+");
с [a-z] математикой для ОДНОГО символа.
То, что вы, вероятно, ищете, это [a-z]*
[a-z]*