# Match-объект

Match-объект представляет собой объект с информацией о совпадениях с регулярным выражением в строке. Match-объект можно получить, применив следующие методы: `fullmatch`, `match`, `search`.

Извлечь информацию из match-объекта можно с помощью основных методов.

## Основные методы, применяемые к match-объекту

Метод | Назначение
--- | ---
`group` | Возвращает нулевой карман.
`groups` | Возвращает кортеж из карманов.
`groupdict` | Возвращает словарь из именованных карманов.
`span` | Возвращает первый и последний индексы кортежа из одного кармана.
`start` | Возвращает первый индекс кортежа из одного кармана.
`end` | Возвращает последний индекс кортежа из одного кармана.

## Пример . Match-объект без метода

Давайте применим метод `match` к нашей строке:

`txt = '123 456 789' res = re.match('\d+', txt) print(res)`

Результат выполнения кода:

`<re.Match object; span=(0, 3), match='123'>`

## Пример . Метод group

А теперь давайте выведем нулевой карман из Match object методом `group`:

`txt = '123 456 789' res = re.match('\d+', txt) print(res.group())`

Результат выполнения кода:

`'123'`

## Пример . Метод groups

Давайте к полученному объекту применим метод `groups` для вывода кортежей карманов:

`txt = '123 456 789' res = re.match('(\d)(\d)', txt) print(res.groups())`

Результат выполнения кода:

`('1', '2')`

## Пример . Метод groupdict

Для вывода словаря именованных карманов можно применить метод `groupdict`:

`res = re.match('(?P<test1>\d)(?P<test2>\d)', txt) print(res.groupdict())`

Результат выполнения кода:

`{'test1': '1', 'test2': '2'}`

## Пример . Метод span

Давайте выведем кортеж из первого и последнего индексов одного кортежа. Для этого мы используем метод `span`:

`res = re.match('\d+', txt) print(res.span())`

После выполнения кода вы увидите кортеж, состоящий из двух индексов. Но при этом заметьте, что последнее значение на единицу больше конечного индекса:

`(0, 3)`

## Пример . Методы start и end

Чтобы вернуть каждый из индексов по отдельному, можно применить методы `start` и `end`:

`res = re.match('\d+', txt) print(res.start()) print(res.end())`

Результат выполнения кода:

`0 3`

## Смотрите также

- метод `match` модуля `re`,
  который ищет совпадение с регуляркой в начале строки
- метод `fullmatch` модуля `re`,
  который ищет все совпадения с регуляркой в строке
- метод `search` модуля `re`,
  который ищет первое совпадение с регуляркой в строке

← →
↑