Python Glossary English

все Python 3reфункция

re.findall()

поиск

Возвращает список всех совпадений паттерна в строке. С одной группой — список её значений, с несколькими — список кортежей.

Синтаксис

re.findall(pattern, string, flags=0)

Главная ловушка — группы: если в паттерне ровно одна группа, вернутся не целые совпадения, а только её содержимое; когда скобки нужны лишь для группировки, бери незахватывающие (?:...). Совпадения ищутся непересекающиеся, слева направо, и весь список строится сразу — на большом тексте лучше re.finditer: он отдаёт Match-объекты лениво и знает позиции найденного.

Примеры

import re
re.findall(r'\d+', 'a1 b22 c333') # → ['1', '22', '333']
re.findall(r'[aeiou]', 'hello world') # → ['e', 'o', 'o']
re.findall(r'(\w+)=(\w+)', 'x=1 y=2') # → [('x', '1'), ('y', '2')]
re.findall(r'cat|dog', 'cat and dog') # → ['cat', 'dog']

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности