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))