import re
texts = ['L A B12 E4L-0: TEXT1 TEXT 2 HEL-L!O!!!', 'TEXT1 TEXT 2 HEL-L!O!!!', 'L A B12 E4L-0: TEXT1', 'TEXT']
rx = re.compile(r'^(?:(.*?):)?\s*(\S+)(?:\s+(\S.*))?$')
for text in texts:
m = rx.search(text)
if m:
print(m.groups())
aW1wb3J0IHJlCnRleHRzID0gWydMIEEgQjEyIEU0TC0wOiBURVhUMSBURVhUIDIgSEVMLUwhTyEhIScsICdURVhUMSBURVhUIDIgSEVMLUwhTyEhIScsICdMIEEgQjEyIEU0TC0wOiBURVhUMScsICdURVhUJ10KcnggPSByZS5jb21waWxlKHInXig/OiguKj8pOik/XHMqKFxTKykoPzpccysoXFMuKikpPyQnKQpmb3IgdGV4dCBpbiB0ZXh0czoKCW0gPSByeC5zZWFyY2godGV4dCkKCWlmIG06CgkgICAgcHJpbnQobS5ncm91cHMoKSk=
('L A B12 E4L-0', 'TEXT1', 'TEXT 2 HEL-L!O!!!')
(None, 'TEXT1', 'TEXT 2 HEL-L!O!!!')
('L A B12 E4L-0', 'TEXT1', None)
(None, 'TEXT', None)