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