import re
s = "s1: foo, bar s1:x,y s2:hello, hi s3: bar, foo."
def findByPrefix(prefix, s):
pattern = rf"\b{re.escape(prefix)}: ?(\w+(?:, ?\w+)*)"
res = []
for m in re.findall(pattern, s):
res.append(re.split(", ?", m))
return res
print(findByPrefix("s1", s))
aW1wb3J0IHJlCgpzID0gInMxOiBmb28sIGJhciBzMTp4LHkgczI6aGVsbG8sIGhpIHMzOiBiYXIsIGZvby4iCgpkZWYgZmluZEJ5UHJlZml4KHByZWZpeCwgcyk6CiAgICBwYXR0ZXJuID0gcmYiXGJ7cmUuZXNjYXBlKHByZWZpeCl9OiA/KFx3Kyg/OiwgP1x3KykqKSIKICAgIHJlcyA9IFtdICAgIAogICAgZm9yIG0gaW4gcmUuZmluZGFsbChwYXR0ZXJuLCBzKToKICAgICAgICByZXMuYXBwZW5kKHJlLnNwbGl0KCIsID8iLCBtKSkgICAgICAgIAogICAgcmV0dXJuIHJlcwoKcHJpbnQoZmluZEJ5UHJlZml4KCJzMSIsIHMpKQ==