В строках Python по умолчанию работает экранирование:
# Вместо \n мы получим переход на новую строку
print("Переносим\nстроку")
В примере выже специальная (экранируемая или управляющая) последовательность была заменена на перевод строки. Для того, чтобы управляющая последовательность НЕ была заменена, необходимо добавить символ '\' перед ней.
В регулярных выражениях тоже есть экранирование. Каждое регулярное выражение компилируется интерпретатором, и заменяет управляющие последовательности на другие символы. Если нам нужно использовать какой-то спецсимвол как простой текст, то достаточно поставить перед ним '\', как и в обычных строках Python.
Да, это возможно.
Если вы используете обычную строку в регулярном выражении, то:
- сначала срабатывает экранирование строки в Python,
- а потом срабатывает второе экранирование при компиляции регулярного выражения.
С помощью сырых строк мы отключим экранирование в строках Python и будем работать только с одним экранированием - экранированием в регулярных выражениях.