import re
message = """[key X] value
[key X] value value
[key X] value
value
value
value
[key ] value
[key ] ?
[key ] ?"""
messageRegex = re.compile(r"^\[([^][]*)]\s+(.*(?:\n(?!\[[^][]*]).*)*)", re.M)
for value in messageRegex.findall(message):
print(value)
aW1wb3J0IHJlCm1lc3NhZ2UgPSAiIiJba2V5ICAgIFhdIHZhbHVlCltrZXkgICAgWF0gIHZhbHVlIHZhbHVlCltrZXkgICAgWF0gIHZhbHVlCnZhbHVlCnZhbHVlCnZhbHVlCltrZXkgICAgIF0gdmFsdWUKW2tleSAgICAgXSA/CltrZXkgICAgIF0gPyIiIgoKbWVzc2FnZVJlZ2V4ID0gcmUuY29tcGlsZShyIl5cWyhbXl1bXSopXVxzKyguKig/OlxuKD8hXFtbXl1bXSpdKS4qKSopIiwgcmUuTSkKCmZvciB2YWx1ZSBpbiBtZXNzYWdlUmVnZXguZmluZGFsbChtZXNzYWdlKToKICAgIHByaW50KHZhbHVlKQ==