Оператор [] у Match
Оператор [] у объекта Match возвращает
группу совпадения по её индексу. В качестве параметра
мы передаем номер группы. Нулевая группа соответствует
всему совпадению целиком, группа с номером 1 -
первой круглой скобке в регулярном выражении,
группа с номером 2 - второй и так далее.
Если группа с указанным номером отсутствует,
оператор вернет null.
Синтаксис
match[index]
Пример
Давайте найдем совпадение и выведем группу с номером 0,
которая содержит все совпадение целиком:
void main()
{
RegExp reg = RegExp(r'(\d+)-(\d+)');
Match? match = reg.firstMatch('123-456');
print(match?[0]);
}
Результат выполнения кода:
"123-456"
Пример
Давайте выведем первую и вторую группы совпадения:
void main()
{
RegExp reg = RegExp(r'(\d+)-(\d+)');
Match? match = reg.firstMatch('123-456');
print(match?[1]);
print(match?[2]);
}
Результат выполнения кода:
"123"
"456"
Пример
Давайте попробуем получить группу, которой нет в регулярном выражении:
void main()
{
RegExp reg = RegExp(r'(\d+)-(\d+)');
Match? match = reg.firstMatch('123-456');
print(match?[3]);
}
Результат выполнения кода:
null
Смотрите также
-
метод
group,
который возвращает группу по номеру -
метод
groups,
который возвращает список всех групп -
свойство
groupCount,
которое возвращает количество групп -
свойство
input,
которое возвращает исходную строку