import re
s = ("(2021-07-02 01:00:00 AM BST) \n"
"--- \n"
"syl.hs has joined the conversation \n"
" \n"
" \n\n"
"(2021-07-02 01:00:23 AM BST) \n"
"--- \n"
"e.wang \n"
"Good Morning\n"
"How're you?\n"
" \n"
" \n"
" \n\n"
"(2021-07-02 01:05:11 AM BST) \n"
"--- \n"
"wk.wang \n"
"Hi, I'm Good. \n"
" \n"
" \n\n"
"(2021-07-02 01:08:01 AM BST) \n"
"--- \n"
"perter.derrek \n"
"we got the update on work. \n"
"It will get complete by next week.\n\n"
"(2021-07-15 08:59:41 PM BST) \n"
"--- \n"
"ad.ft has left the conversation \n"
" \n"
" \n"
" \n"
" \n"
"--- \n"
" \n"
"* * *\"")
pattern = r"^---\s*\n(?!.* has (?:joined|left) the conversation|\* \* \*)\S.*((?:\n(?!\(\d|---).*)*)"
result = [m.strip() for m in re.findall(pattern, s, re.M) if m]
print(result)
aW1wb3J0IHJlCgpzID0gKCIoMjAyMS0wNy0wMiAwMTowMDowMCBBTSBCU1QpICBcbiIKICAgICAiLS0tICBcbiIKICAgICAic3lsLmhzIGhhcyBqb2luZWQgdGhlIGNvbnZlcnNhdGlvbiAgXG4iCiAgICAgIiAgXG4iCiAgICAgIiAgXG5cbiIKICAgICAiKDIwMjEtMDctMDIgMDE6MDA6MjMgQU0gQlNUKSAgXG4iCiAgICAgIi0tLSAgXG4iCiAgICAgImUud2FuZyAgXG4iCiAgICAgIkdvb2QgTW9ybmluZ1xuIgogICAgICJIb3cncmUgeW91P1xuIgogICAgICIgIFxuIgogICAgICIgIFxuIgogICAgICIgIFxuXG4iCiAgICAgIigyMDIxLTA3LTAyIDAxOjA1OjExIEFNIEJTVCkgIFxuIgogICAgICItLS0gIFxuIgogICAgICJ3ay53YW5nICBcbiIKICAgICAiSGksIEknbSBHb29kLiAgXG4iCiAgICAgIiAgXG4iCiAgICAgIiAgXG5cbiIKICAgICAiKDIwMjEtMDctMDIgMDE6MDg6MDEgQU0gQlNUKSAgXG4iCiAgICAgIi0tLSAgXG4iCiAgICAgInBlcnRlci5kZXJyZWsgICBcbiIKICAgICAid2UgZ290IHRoZSB1cGRhdGUgb24gd29yay4gXG4iCiAgICAgIkl0IHdpbGwgZ2V0IGNvbXBsZXRlIGJ5IG5leHQgd2Vlay5cblxuIgogICAgICIoMjAyMS0wNy0xNSAwODo1OTo0MSBQTSBCU1QpICBcbiIKICAgICAiLS0tICBcbiIKICAgICAiYWQuZnQgaGFzIGxlZnQgdGhlIGNvbnZlcnNhdGlvbiAgXG4iCiAgICAgIiAgXG4iCiAgICAgIiAgXG4iCiAgICAgIiAgXG4iCiAgICAgIiAgXG4iCiAgICAgIi0tLSAgXG4iCiAgICAgIiAgXG4iCiAgICAgIiogKiAqXCIiKQoKcGF0dGVybiA9IHIiXi0tLVxzKlxuKD8hLiogaGFzICg/OmpvaW5lZHxsZWZ0KSB0aGUgY29udmVyc2F0aW9ufFwqIFwqIFwqKVxTLiooKD86XG4oPyFcKFxkfC0tLSkuKikqKSIKcmVzdWx0ID0gW20uc3RyaXAoKSBmb3IgbSBpbiByZS5maW5kYWxsKHBhdHRlcm4sIHMsIHJlLk0pIGlmIG1dCnByaW50KHJlc3VsdCkKCg==