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, группы и экранирование обратной косой черты.