Login8
@Login8
Программист, критик, наватор

Что за странная буква «r» что она значит в функции для регулярных выражений?

Здравствуйте уважаемые знатоки.
Вот код:
import re

text = 'hahaha90'
text = re.sub(r'[0-9]+', '<number>', text)
print(text) # hahaha<number>


обратите внимание в функции sub() в первом аргументе вместе с регулярным выражением стоит r (латинская эр), для чего она иногда встречается в коде, ведь если ее убрать тоже все работает и строка заменяется по регулярному выражению.

Так же еще замечал непонятную u вот в таком коде:
text = 'djjkbke'
text = text.replace(u'j',  u'999')


как видите u присутствует в аргументах функции replace, я пробовал убирать ее и понял что без нее все работает нормально. Так зачем она иногда ставится непонятно.
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
Lord_of_Rings
@Lord_of_Rings
Python developer
r от слова raw, т.е r – это сырая строка. Он нужен для того, чтобы \ не вызывал экранирование символов.

u в u'j' означает, что ваша строка является строкой Unicode.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы