texts = [
"Hello(Hi()) more text",
"Hello(Hi) more text",
"Hello(Hi() , Bye(bye) , Foo) more text",
]
import re
for text in texts:
matches = re.match(r'^%s\s*\(((?:[^()]*|\([^)]*\))*)\)' % re.escape("Hello"), text)
print matches.group(1)
dGV4dHMgPSBbCiAgICJIZWxsbyhIaSgpKSBtb3JlIHRleHQiLAogICAiSGVsbG8oSGkpIG1vcmUgdGV4dCIsCiAgICJIZWxsbyhIaSgpICwgQnllKGJ5ZSkgLCBGb28pIG1vcmUgdGV4dCIsCl0KCmltcG9ydCByZQoKZm9yIHRleHQgaW4gdGV4dHM6CiAgICBtYXRjaGVzID0gcmUubWF0Y2gocideJXNccypcKCgoPzpbXigpXSp8XChbXildKlwpKSopXCknICUgcmUuZXNjYXBlKCJIZWxsbyIpLCB0ZXh0KQogICAgcHJpbnQgbWF0Y2hlcy5ncm91cCgxKQ==