import re
pattern = r"^:([\w :|!.?%()-]+)\t (.*(?:\n (?!:[\w :|!.?%()-]+\t ).*)*)"
s = ( "#% text_encoding = utf8\n \n "
":xy_name1 Text\n \n "
":xy_name2 Text text text to a text. \n \n "
"Text and text to text text, text and \n \n "
"text provides text text text text.\n \n "
":xy_name3 Text" )
print ( re .findall ( pattern, s, re .MULTILINE ) )
aW1wb3J0IHJlCgpwYXR0ZXJuID0gciJeOihbXHc6fCEuPyUoKS1dKylcdCguKig/OlxuKD8hOltcdzp8IS4/JSgpLV0rXHQpLiopKikiCgpzID0gKCIjJSB0ZXh0X2VuY29kaW5nID0gdXRmOFxuXG4iCiAgICAgICAgICAgICI6eHlfbmFtZTEJVGV4dFxuXG4iCiAgICAgICAgICAgICI6eHlfbmFtZTIJVGV4dCB0ZXh0IHRleHQgdG8gYSB0ZXh0LiBcblxuIgogICAgICAgICAgICAiVGV4dCBhbmQgdGV4dCB0byB0ZXh0IHRleHQsIHRleHQgYW5kIFxuXG4iCiAgICAgICAgICAgICJ0ZXh0IHByb3ZpZGVzIHRleHQgdGV4dCB0ZXh0IHRleHQuXG5cbiIKICAgICAgICAgICAgIjp4eV9uYW1lMwlUZXh0IikKCnByaW50KHJlLmZpbmRhbGwocGF0dGVybiwgcywgcmUuTVVMVElMSU5FKSk=