Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Matcher.matches()

Проверяет, соответствует ли шаблону вся строка целиком.

Доступно с: Java 1.4

Синтаксис

public boolean matches()

Возвращаемое значение

booleantrue, если вся строка совпадает с шаблоном.

Примеры

matches() против find():

void main() {
    Pattern p = Pattern.compile("\\d+");
    IO.println(p.matcher("123").matches());
    IO.println(p.matcher("abc123").matches());
    IO.println(p.matcher("abc123").find());
}

Результат:

true
false
true

Проверка и разбор времени за один шаг:

void main() {
    Matcher m = Pattern.compile("(\\d{1,2}):(\\d{2})").matcher("9:45");
    if (m.matches()) {
        int minutes = Integer.parseInt(m.group(1)) * 60 + Integer.parseInt(m.group(2));
        IO.println(minutes);
    }
}

Результат:

585

Примечания

Символы ^ и $ для matches() не нужны — проверяется вся строка. Есть и промежуточный вариант lookingAt(): совпадение должно начинаться с начала строки, но не обязано доходить до конца.

См. также

  • String.matches() — Проверяет, соответствует ли вся строка регулярному выражению.
  • Matcher.find() — Ищет следующее совпадение шаблона в любом месте строки.
  • Matcher.group() — Возвращает текст найденного совпадения или его группы в скобках.

В учебнике

  • Регулярные выражения — Регулярные выражения в Java: matches, replaceAll, split по шаблону, классы Pattern и Matcher, группы и экранирование обратной косой черты.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.