Класс Matcher
Класс Matcher предназначен для выполнения операций
поиска и сопоставления с шаблоном регулярного выражения.
Объект Matcher создается путем вызова метода
matcher у объекта класса Pattern. В качестве
параметра этот метод принимает строку, в которой будет
производиться поиск. Основные методы класса позволяют
проверить все совпадение целиком, найти следующее
совпадение, получить сгруппированные данные, а также
заменить найденные фрагменты.
Синтаксис
Pattern pattern = Pattern.compile("regex");
Matcher matcher = pattern.matcher("input");
Пример
Давайте проверим, соответствует ли вся строка шаблону, состоящему из трех цифр:
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");
boolean res = matcher.matches();
System.out.println(res);
}
}
Результат выполнения кода:
false
Пример
Давайте найдем все вхождения цифр в строке
с помощью метода find:
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("1a2b3");
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
Результат выполнения кода:
1
2
3
Пример
Давайте заменим все найденные цифры на символ "x":
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("1a2b3");
String res = matcher.replaceAll("x");
System.out.println(res);
}
}
Результат выполнения кода:
"xaxbx"
Смотрите также
-
метод
matches,
который проверяет все совпадение целиком -
метод
find,
который ищет следующее совпадение -
метод
group,
который возвращает найденную подстроку -
метод
replaceAll,
который заменяет все совпадения