Метод matches
Метод matches класса Matcher проверяет,
соответствует ли вся входная строка (вся последовательность
символов целиком) регулярному выражению, по которому был
создан этот Matcher. В отличие от метода find,
который ищет совпадение в любой части строки, метод
matches требует совпадения от начала до конца строки.
Метод не принимает параметров и возвращает boolean:
true, если строка полностью соответствует шаблону,
и false в противном случае.
Синтаксис
matcher.matches()
Пример
Проверим, состоит ли вся строка только из цифр:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher("12345");
System.out.println(matcher.matches());
}
}
Результат выполнения кода:
true
Пример
Проверим строку, которая содержит не только цифры.
Так как шаблон требует совпадения всей строки,
результат будет false:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher("123ab");
System.out.println(matcher.matches());
}
}
Результат выполнения кода:
false
Пример
Сравним поведение методов matches и find
на одной и той же строке:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher("abc123");
System.out.println(matcher.matches());
System.out.println(matcher.find());
}
}
Результат выполнения кода:
false
true