import re
regex = r"\*_____________________________([\s\S]*?)\*_____________________________(?:\n\*){2}"
test_str = ("*_____________________________\n"
"* This is header text\n"
"* For details, see foobar.txt.\n"
"*_____________________________\n"
"*\n"
"*\n\n"
"* Code goes here\n"
"Code = x\n")
subst = "*\\n* Hello, world.\\n*"
# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)
if result:
print (result)
aW1wb3J0IHJlCnJlZ2V4ID0gciJcKl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fKFtcc1xTXSo/KVwqX19fX19fX19fX19fX19fX19fX19fX19fX19fX18oPzpcblwqKXsyfSIKdGVzdF9zdHIgPSAoIipfX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuIgoJIiogVGhpcyBpcyBoZWFkZXIgdGV4dFxuIgoJIiogRm9yIGRldGFpbHMsIHNlZSBmb29iYXIudHh0LlxuIgoJIipfX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuIgoJIipcbiIKCSIqXG5cbiIKCSIqIENvZGUgZ29lcyBoZXJlXG4iCgkiQ29kZSA9IHhcbiIpCnN1YnN0ID0gIipcXG4qIEhlbGxvLCB3b3JsZC5cXG4qIgoKIyBZb3UgY2FuIG1hbnVhbGx5IHNwZWNpZnkgdGhlIG51bWJlciBvZiByZXBsYWNlbWVudHMgYnkgY2hhbmdpbmcgdGhlIDR0aCBhcmd1bWVudApyZXN1bHQgPSByZS5zdWIocmVnZXgsIHN1YnN0LCB0ZXN0X3N0ciwgMCwgcmUuTVVMVElMSU5FKQoKaWYgcmVzdWx0OgogICAgcHJpbnQgKHJlc3VsdCk=