все Python 3reфункция
re.Match.groups()
группы
Возвращает кортеж ВСЕХ захваченных групп объекта Match (без группы 0). Незахваченным группам подставляется default (по умолчанию None).
Синтаксис
m.groups(default=None)
Группа 0 — всё совпадение целиком — в кортеж намеренно не входит, за ней надо идти в m.group(0). Необязательная группа, которая не сработала, даёт None, и он взрывается ровно там, где вы склеиваете строки или зовёте int(): либо проверяйте, либо передайте groups('') и получите пустые строки. Если групп в паттерне нет вовсе, вернётся пустой кортеж, а не None.
Примеры
import re
m = re.match(r'(\w+)@(\w+)', 'user@host')
m.groups() # → ('user', 'host')
m2 = re.match(r'(a)(b)?', 'a')
m2.groups() # → ('a', None)
m2.groups(default='-') # → ('a', '-')
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности