Match-объект - информация о совпадениях с регулярным выражением в строке в Python

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,
    который ищет первое совпадение с регуляркой в строке



Чат с GPT Компилятор