Из документации Python по регулярным выражениям, касательно символа '\':
Решение состоит в том, чтобы использовать необработанную строковую нотацию Python для шаблонов регулярных
выражений; обратные косые черты не обрабатываются каким-либо особым образом в
строковом литерале с префиксом 'r'. Таким образом, r"\n" — это строка из двух символов
, содержащая '\' и 'n', а "\n" — это строка из одного символа
, содержащая новую строку. Обычно шаблоны выражаются в коде Python
с использованием этой необработанной строковой нотации.
Что это за необработанная строковая нотация? Если вы используете необработанный строковый формат, означает ли это, что «*» воспринимается как буквальный символ, а не как индикатор нуля или более? Очевидно, что это неправильно, иначе регулярное выражение полностью потеряет свою силу. Но тогда, если это необработанная строка, как она распознает символы новой строки, если "\n" - это буквально обратная косая черта и "n"?
Я не понимаю.
Редактировать за вознаграждение:
Я пытаюсь понять, как регулярное выражение необработанной строки соответствует символам новой строки, табуляции и наборам символов, например \w для слов или \d для цифр или чего-то еще, если шаблоны необработанных строк не распознают обратную косую черту как что-то большее, чем обычные символы. Мне действительно могли бы пригодиться несколько хороших примеров.
Подробнее здесь: https://stackoverflow.com/questions/128 ... you-use-it