Код: Выделить всё
"\*hello* * . [ }"
Код: Выделить всё
"\*hello\\* \* \\. \\[ \\}"
Каждый специальный символ (специальные символы: _, * , [, ], (, ), ~, `, >, #, + , -, =, |, {, , ., ! должны быть экранированы предыдущим символом \.
Я попробовал это с этим, но тогда каждый символ экранирован:
Код: Выделить всё
escape_chars = r'_*[]()~`>#+-=|{}.!'
return re.sub(f'([{re.escape(escape_chars)}])', r'\\\1', text)
Код: Выделить всё
\*hello\* \* \. \[ \}
Код: Выделить всё
**hello** \* \. \[ \}
В \* \* \* следует экранировать только средний символ. В \{ \{ \} экранировать следует только средний
Мне это нужно для форматирования текста:
https://core.telegram.org/bots/api#markdownv2-style
Подробнее здесь: https://stackoverflow.com/questions/686 ... -in-python
Мобильная версия