Python Glossary English

все 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Сообщить о неточности