Skip to content

Latest commit

 

History

History
25 lines (20 loc) · 2.13 KB

File metadata and controls

25 lines (20 loc) · 2.13 KB

2.3 Экранирование в строках и в регулярных выражениях

Экранирование в Python

В строках Python по умолчанию работает экранирование:

# Вместо \n мы получим переход на новую строку
print("Переносим\nстроку")

В примере выже специальная (экранируемая или управляющая) последовательность была заменена на перевод строки. Для того, чтобы управляющая последовательность НЕ была заменена, необходимо добавить символ '\' перед ней.

Экранирование в регулярных выражениях

В регулярных выражениях тоже есть экранирование. Каждое регулярное выражение компилируется интерпретатором, и заменяет управляющие последовательности на другие символы. Если нам нужно использовать какой-то спецсимвол как простой текст, то достаточно поставить перед ним '\', как и в обычных строках Python.

2 экранирования сразу? 🤨

Да, это возможно.

Если вы используете обычную строку в регулярном выражении, то:

  • сначала срабатывает экранирование строки в Python,
  • а потом срабатывает второе экранирование при компиляции регулярного выражения.

С помощью сырых строк мы отключим экранирование в строках Python и будем работать только с одним экранированием - экранированием в регулярных выражениях.