import re
example = ( "OPERATOR: Some text with numbers, special characters and linebreaks.\n \n "
"NAME, COMPANY, POSITION: Some text with numbers, special characters and linebreaks.\n "
"NAME: Some text with numbers, special characters and linebreaks." )
r = re .compile ( r"^([^a-z\r \n ]+):(.*(?:(?!\n [^a-z\r \n ]+:)[\r \n ].*)*)" , flags= re .MULTILINE )
print ( re .findall ( r, example) )
aW1wb3J0IHJlCgpleGFtcGxlID0gKCJPUEVSQVRPUjogU29tZSB0ZXh0IHdpdGggbnVtYmVycywgc3BlY2lhbCBjaGFyYWN0ZXJzIGFuZCBsaW5lYnJlYWtzLlxuXG4iCgkiTkFNRSwgQ09NUEFOWSwgUE9TSVRJT046IFNvbWUgdGV4dCB3aXRoIG51bWJlcnMsIHNwZWNpYWwgY2hhcmFjdGVycyBhbmQgbGluZWJyZWFrcy5cbiIKCSJOQU1FOiBTb21lIHRleHQgd2l0aCBudW1iZXJzLCBzcGVjaWFsIGNoYXJhY3RlcnMgYW5kIGxpbmVicmVha3MuIikKciA9IHJlLmNvbXBpbGUociJeKFteYS16XHJcbl0rKTooLiooPzooPyFcblteYS16XHJcbl0rOilbXHJcbl0uKikqKSIsIGZsYWdzPXJlLk1VTFRJTElORSkKcHJpbnQocmUuZmluZGFsbChyLCBleGFtcGxlKSk=
stdout
[('OPERATOR', ' Some text with numbers, special characters and linebreaks.\n'), ('NAME, COMPANY, POSITION', ' Some text with numbers, special characters and linebreaks.'), ('NAME', ' Some text with numbers, special characters and linebreaks.')]