I would like to replace words in a string sentence such as:
What $noun$ is $verb$?
What\'s the regular expression to replace the characters
In [1]: import re
In [2]: re.sub('\$noun\$', 'the heck', 'What $noun$ is $verb$?')
Out[2]: 'What the heck is $verb$?'
You don't need a regular expression for that. I would do
str = "What $noun$ is $verb$?"
print str.replace("$noun$", "the heck")
Only use regular expressions when needed. It's generally slower.
Given that you are free to modify $noun$
etc. to your liking, best practise to do this nowadays is probably to using the format
function on a string:
"What {noun} is {verb}?".format(noun="XXX", verb="YYY")