Python Glossary English

все Python 3до 3.15Удалено из стандартной библиотекипонятие

sre_compile / sre_constants / sre_parse

удалённые модули

Внутренние модули движка регулярных выражений. Удалены в Python 3.15 — используйте публичный модуль re.

Синтаксис

import sre_parse  # до 3.15

Эти три модуля — разбор шаблона, его компиляция и таблица констант — были внутренностями re, но лежали на верхнем уровне, и к ним привыкли обращаться напрямую. В 3.11 их перенесли внутрь пакета re, оставив прежние имена заглушками с предупреждением, а в 3.15 заглушки убрали. Как переписать: sre_compile.compile(p) меняется на re.compile(p); sre_constants.error — на re.error (с 3.13 это re.PatternError); флаги вроде sre_constants.SRE_FLAG_IGNORECASE — на re.IGNORECASE. Если разбирали шаблон через sre_parse.parse, публичной замены нет: re._parser — закрытый модуль без гарантий.

Примеры

# Python 3.15+
try:
    import sre_parse
except ModuleNotFoundError as e:
    print(type(e).__name__)  # → ModuleNotFoundError
# Python 3.15+
import re
try:
    re.compile('(unclosed')
except re.error as e:
    print(type(e).__name__)  # → PatternError
print(bool(re.compile('abc', re.IGNORECASE).match('ABC')))  # → True
import re
import sre_constants
print(sre_constants.error is re.error)  # → True
print(sre_constants.SRE_FLAG_IGNORECASE == re.IGNORECASE)  # → True

См. также

Частые ошибки

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