корректно экранирована для подстановки в сырую, чтобы использовать в качестве паттерна в регулярках?
Пример
Если строка экранирована, то все нормально заменяется
s = 'tom\?&jerry=100\$'
re.sub(r'(?<=__){}(?=__)'.format(s), 'tom_jerry', '__tom?&jerry=100$__')
'__tom_jerry__'
А если экранирования нет, то, конечно, символы ? и $ воспринимаются как управляющие
s = 'tom?&jerry=100$'
re.sub(r'(?<=__){}(?=__)'.format(s), 'tom_jerry', '__tom?&jerry=100$__')
'__tom?&jerry=100$__'
и никакой замены не происходит
В какую сырую строку? Ты о чем вообще?
raw-string, которые обычно используются при работе с регулярными выражениями
Обсуждают сегодня