import re re.findall(pattern, string, flags=0)
pattern
- строка, шаблон регулярного выражения,string
- строка для поиска, flags=0
- один или несколько флагов.Функция findall()
модуля re
возвращает все неперекрывающиеся совпадения шаблона pattern
в строке string
в виде списка строк или список кортежей. Строка сканируется слева направо, и совпадения возвращаются в найденном порядке.
Результат зависит от количества групп захвата в шаблоне:
Группы без захвата не влияют на форму результата.
>>> import re >>> text = 'ул. Карпинского, дом № 20, корпус 3, квартира 98' # нет групп захвата >>> match = re.findall(r'\d+', text) >>> print(match) # ['20', '3', '98'] # одна группа захвата >>> match = re.findall(r'(?i)([а-я]+)', text) >>> print(match) # ['ул', 'Карпинского', 'дом', 'корпус', 'квартира'] # несколько групп захвата >>> re.findall(r'(\w+)=(\d+)', 'set width=20 and height=10') # [('width', '20'), ('height', '10')]