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