import re
string = """
#Text which I want to keep intact
#Lots of text
#Lots and lots of text
#Lots and lots and lots of other text
#Then in-between the file I have text in this format which I want to operate on:
ginstance
{
name ginstance_053D627B1349FA0BC57
node "FINDME"
inherit_xform on
visibility 255
blah
blah
blah
}
ginstance
{
name ginstance_053D627B1349FA0BC57
node "DONTFINDME"
inherit_xform on
visibility 255
blah
blah
blah
}
"""
rx = re .compile ( """
ginstance\s *\{
[^}]*
(?:node\ "FINDME")
[^}]*
\}
""" , re .VERBOSE )
string = re .sub ( rx, '' , string )
print string
aW1wb3J0IHJlCgpzdHJpbmcgPSAiIiIKI1RleHQgd2hpY2ggSSB3YW50IHRvIGtlZXAgaW50YWN0CiNMb3RzIG9mIHRleHQgCiNMb3RzIGFuZCBsb3RzIG9mIHRleHQgCiNMb3RzIGFuZCBsb3RzIGFuZCBsb3RzIG9mIG90aGVyIHRleHQgCgojVGhlbiBpbi1iZXR3ZWVuIHRoZSBmaWxlIEkgaGF2ZSB0ZXh0IGluIHRoaXMgZm9ybWF0IHdoaWNoIEkgd2FudCB0byBvcGVyYXRlIG9uOgoKZ2luc3RhbmNlIAp7IAogbmFtZSBnaW5zdGFuY2VfMDUzRDYyN0IxMzQ5RkEwQkM1NyAKIG5vZGUgIkZJTkRNRSIgCiBpbmhlcml0X3hmb3JtIG9uIAogdmlzaWJpbGl0eSAyNTUgCmJsYWggCmJsYWggCmJsYWggCn0gCgpnaW5zdGFuY2UgCnsgCiBuYW1lIGdpbnN0YW5jZV8wNTNENjI3QjEzNDlGQTBCQzU3IAogbm9kZSAiRE9OVEZJTkRNRSIgCiBpbmhlcml0X3hmb3JtIG9uIAogdmlzaWJpbGl0eSAyNTUgCmJsYWggCmJsYWggCmJsYWggCn0KIiIiCgpyeCA9IHJlLmNvbXBpbGUoIiIiCgkJZ2luc3RhbmNlXHMqXHsKCQlbXn1dKgoJCSg/Om5vZGVcICJGSU5ETUUiKQoJCVtefV0qCgkJXH0KCQkiIiIsIHJlLlZFUkJPU0UpCnN0cmluZyA9IHJlLnN1YihyeCwgJycsIHN0cmluZykKcHJpbnQgc3RyaW5n