Если у вас есть еще один окружающий символ, такой как {}, (), [] .. etc
, попробуйте этот код:
import re
# list of surrounding characters to build a large regular expression
surrounding = [('\$', '\$'), ('\[', '\]'), ('{', '}')]
text = """
$remove$text
[remove]text
"""
RE_PATTERN = '|'.join(r'{0}[^{0}]*?{1}.*?'.format(*s) for s in surrounding)
print(RE_PATTERN) # \$[^\$]*?\$.*?|\[[^\[]*?\].*?|{[^{]*?}.*?
print(re.sub(RE_PATTERN,'', text))
# text
# text