Regex для метода Java String.matches? - PullRequest
       0

Regex для метода Java String.matches?

14 голосов
/ 10 декабря 2010

В основном мой вопрос таков:

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

возвращает ложь? (Разработано в Java1.6)

В основном я хочу посмотреть, есть ли в передаваемой мне строке альфа-символы.

Ответы [ 3 ]

22 голосов
/ 10 декабря 2010

Функция String.matches() сопоставляет ваше регулярное выражение со строкой целом (как если бы у вашего регулярного выражения было ^ в начале и $ в конце).Если вы хотите найти регулярное выражение где-нибудь в строке, используйте Matcher.find().

Правильный метод зависит от того, что вы хотите сделать:

  1. Проверьте, содержит ли ваша входная строка полностью букв (String.matches() с [a-z]+)
  2. Проверьте, содержит ли ваша входная строка любой алфавитсимвол (и, возможно, некоторые другие) (Matcher.find() с [a-z])
4 голосов
/ 10 декабря 2010

Ваш код проверяет, соответствует ли слово одному символу.Вы хотите проверить, соответствует ли слово какому-либо количеству буквенных символов, например:

word.matches("[a-z]+");
1 голос
/ 10 декабря 2010

с [a-z] математикой для ОДНОГО символа.

То, что вы, вероятно, ищете, это [a-z]*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...