Метод group класса Matcher
Метод group класса Matcher возвращает
подстроку, которая соответствует найденному
совпадению или отдельной группе регулярного
выражения. Первым параметром метод принимает
номер группы. Если параметр не указан,
возвращается вся найденная подстрока (группа
с номером 0). Группы нумеруются слева
направо, начиная с 1, в порядке
открывающих круглых скобок в шаблоне.
Синтаксис
matcher.group([groupNumber])
Пример
Давайте найдем в строке число и выведем все совпадение и отдельные его группы:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
String str = "abc123de";
Pattern pattern = Pattern.compile("([a-z]+)(\\d+)");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
System.out.println(matcher.group());
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
}
}
}
Результат выполнения кода:
"abc123"
"abc"
"123"
Пример
Давайте найдем дату в строке и извлечем из нее отдельные компоненты:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
String str = "2024-12-31";
Pattern pattern = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
System.out.println("Year: " + matcher.group(1));
System.out.println("Month: " + matcher.group(2));
System.out.println("Day: " + matcher.group(3));
}
}
}
Результат выполнения кода:
"Year: 2024"
"Month: 12"
"Day: 31"
Смотрите также
-
метод
groupCount,
который возвращает количество групп в шаблоне -
метод
find,
который ищет следующее совпадение -
метод
matches,
который проверяет всю строку на соответствие -
метод
start,
который возвращает начальный индекс совпадения