import re
string = """
aaa
aaa "word" --sdsdrrr2 --sds {
test test
}
aaa "word2" --sdsdd sdsd {
fffsd
ssss
}
aaa "word3" -sdksdld sdsd
{
sdsdd
sdsddd
sdsdddd }
"""
rx = re.compile("""
^(?=.*"word2") # ^ - start of the line with pos. lookahead
[^{]+ # anything not a {
{[^}]+} # followed by {, anything in between and a closing }
""", re.MULTILINE|re.VERBOSE)
matches = rx.findall(string)
print matches
aW1wb3J0IHJlCnN0cmluZyA9ICIiIgphYWEgCgphYWEgIndvcmQiIC0tc2RzZHJycjIgLS1zZHMgewoKdGVzdCB0ZXN0IAp9CgphYWEgIndvcmQyIiAtLXNkc2RkIHNkc2QgewoKICAgIGZmZnNkCiAgICBzc3NzCn0KCmFhYSAid29yZDMiIC1zZGtzZGxkIHNkc2QKCnsKCiAgICBzZHNkZAogICAgc2RzZGRkCiAgICBzZHNkZGRkIH0KIiIiCgpyeCA9IHJlLmNvbXBpbGUoIiIiCl4oPz0uKiJ3b3JkMiIpICMgXiAtIHN0YXJ0IG9mIHRoZSBsaW5lIHdpdGggcG9zLiBsb29rYWhlYWQKW157XSsgICAgICAgICMgYW55dGhpbmcgbm90IGEgewp7W159XSt9ICAgICAgIyBmb2xsb3dlZCBieSB7LCBhbnl0aGluZyBpbiBiZXR3ZWVuIGFuZCBhIGNsb3NpbmcgfQoiIiIsIHJlLk1VTFRJTElORXxyZS5WRVJCT1NFKQoKbWF0Y2hlcyA9IHJ4LmZpbmRhbGwoc3RyaW5nKQpwcmludCBtYXRjaGVz