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