import re
pattern = r"^\d+\.[^\S\n]*(.*(?:\n(?!\d+\.).*)*)"
s = ("1. foobar\n\n"
"2. foo\n\n"
"3. bar\ntest\n\n")
print([x.strip() for x in re.findall(pattern, s, re.M)])
aW1wb3J0IHJlCgpwYXR0ZXJuID0gciJeXGQrXC5bXlxTXG5dKiguKig/OlxuKD8hXGQrXC4pLiopKikiCnMgPSAoIjEuIGZvb2JhclxuXG4iCiAgICAgIjIuIGZvb1xuXG4iCiAgICAgIjMuIGJhclxudGVzdFxuXG4iKQoKcHJpbnQoW3guc3RyaXAoKSBmb3IgeCBpbiByZS5maW5kYWxsKHBhdHRlcm4sIHMsIHJlLk0pXSk=