Re.sub съедает следующий символ при замене на другойPython

Программы на Python
Ответить
Anonymous
 Re.sub съедает следующий символ при замене на другой

Сообщение Anonymous »

поэтому я пытался отформатировать свой текст для уценки v2, в основном я просто хочу заменить специальный символ a на \a
при попытке сделать это с помощью регулярного выражения, он так и делает < но новый символ съедает следующий
пример:

Код: Выделить всё

import re
string = 'delivery - options (1 of 3)'
markdown_pattern = re.compile("(?P[\'*-_{}\[\]\(\)#+-.!]).")
result = markdown_pattern.sub(r'\\\g', string)
print(result)
print(len(string))
print(len(result))
что я получу в итоге

Код: Выделить всё

delivery \-options \( of \3
вместо

Код: Выделить всё

delivery \- options \(1 of 3\)
результат и строка имеют одинаковую длину
Я видел, как re.sub делает строки короче, но думал, что это может их удлинить

Подробнее здесь: https://stackoverflow.com/questions/792 ... -with-more
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»