import re
s = "bar6387\nbar63287\nfoo1234\nfoohelloworld\nfooloremipsum\nbaz\nbar\nfoo236\nfoo5382\nbar\nfoo879"
def f(m):
print(m.group().replace('\n', r'\n'))
re.sub(r'(?m)^foo.*(?:\nfoo.*)*', f, s)
aW1wb3J0IHJlCgpzID0gImJhcjYzODdcbmJhcjYzMjg3XG5mb28xMjM0XG5mb29oZWxsb3dvcmxkXG5mb29sb3JlbWlwc3VtXG5iYXpcbmJhclxuZm9vMjM2XG5mb281MzgyXG5iYXJcbmZvbzg3OSIKZGVmIGYobSk6CiAgICBwcmludChtLmdyb3VwKCkucmVwbGFjZSgnXG4nLCByJ1xuJykpCgpyZS5zdWIocicoP20pXmZvby4qKD86XG5mb28uKikqJywgZiwgcyk=