Если вам всегда нужно знать длину и вам просто нужно содержимое матча, а не другую информацию, вы можете также использовать re.findall
. В противном случае, если вам иногда нужна длина, вы можете использовать, например,
matches = re.finditer(...)
...
matches = tuple(matches)
для сохранения итерации совпадений в кортеже многократного использования. Тогда просто сделай len(matches)
.
Другой вариант, если вам просто нужно знать общее количество после выполнения каких-либо действий с объектами сопоставления, это использовать
matches = enumerate(re.finditer(...))
, который вернет пару (index, match)
для каждого исходного совпадения. Тогда вы можете просто сохранить первый элемент каждого кортежа в некоторой переменной.
Но если вам нужна длина в первую очередь, и вам нужны объекты соответствия, а не только строки, вы должны просто сделать
matches = tuple(re.finditer(...))