Ищет в строке непересекающиеся вхождения шаблона.
re.findall(pattern, string, flags=0)
-> list[str] или list[tuple[str, ...]]
pattern -- Шаблон, соответствия которому нужно обнаружить.

string -- Строка, внутри которой требуется отыскать соответствия шаблону.

flags=0 -- Флаги управления интерпретацией регулярного выражения.

Сканирует строку слева направо, вхождения возвращается в порядке обнаружения в виде списка.

Возвращается список строк, либо список кортежей, если в шаблоне присутствуют несколько групп.

    import re

# Подстроки.
re.findall(r'me', 'somedomerome')
# ['me', 'me', 'me']

# Группы.
re.findall(r'(so|do|ro)(me)', 'somedomerome')
# [('so', 'me'), ('do', 'me'), ('ro', 'me')]

Пустые совпадения тоже включаются в результат. Начиная с +py3.7, не пустые совпадения могут следовать непосредственно после пустого.
Синонимы поиска: re, findall
В разделе «re (регулярные выражения)»: re.compile re.fullmatch re.match re.search Синтаксис регулярных выражений
Нет обсуждений для отображения.

Если у вас есть, что сказать, можете представиться и исправить ситуацию.

На заметку
В соответствующем разделе вы можете зарегистрировать сообщество по интересам, чтобы о нём узнали и другие посетители сайта — возможно, так вы отыщите новых единомышленников и друзей.. И не важно виртуальное оно, или вполне реальное, давно существующее, или только-только придуманное.