все Python 3reпонятие
Спецсимволы паттернов
паттерны
Специальные символы регулярных выражений: метасимволы, классы, квантификаторы, якоря.
Синтаксис
. ^ $ * + ? {n,m} [] | () \ \d \w \s
Паттерн всегда пиши raw-строкой: без префикса r обратные слеши разбирает сам Python, и \b станет символом забоя ещё до того, как его увидит re. Внутри квадратных скобок метасимволы почти все теряют силу — точка и плюс там обычные символы, зато ^ в начале класса означает отрицание, а дефис между символами — диапазон. Квантификаторы по умолчанию жадные: .* тянется до последнего возможного совпадения, ленивый вариант — .*?.
Примеры
import re
re.findall(r'.', 'ab') # → ['a', 'b'] . любой символ
re.findall(r'\d+', 'x12y3') # → ['12', '3'] \d цифры
re.findall(r'\w+', 'hi_2!') # → ['hi_2'] \w буквы/цифры/_
re.findall(r'a{2,3}', 'a aa aaa') # → ['aa', 'aaa']
re.findall(r'cat|dog', 'cat and dog') # → ['cat', 'dog']
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности