Python Glossary English

все Python 3Строки (str)понятие

Raw-строки r"..."

создание

Raw-строки (r"...") не обрабатывают escape-последовательности: обратный слэш трактуется как обычный символ. Незаменимы для регулярных выражений и путей Windows.

Синтаксис

r"строка"  r'строка'

Префикс r влияет только на разбор литерала, а не на то, что потом делают с текстом: r"\d" — это те же два символа, слэш и d, и модуль re по-прежнему видит в них шаблон «цифра», просто вам не нужно удваивать слэши. Главная ловушка — raw-строка не может заканчиваться нечётным числом обратных слэшей: r"C:\" даёт SyntaxError, потому что слэш всё равно экранирует закрывающую кавычку (хотя в строку и попадает). Для путей в Windows надёжнее pathlib, чем ручная сборка строк.

Примеры

print(r"\n\t")           # → \n\t  (без переноса и табуляции)
print(len(r"\n"))        # → 2
print(r"C:\Users\name")  # → C:\Users\name
import re
m = re.search(r"\d+", "abc123")
print(m.group())        # → 123
print(r"abc" == "abc")  # → True

См. также

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