import re
line = "some text #foo test text #bar another text#error text #foo one more text"
tag_list = ('#foo', '#bar')

tags = '|'.join(tag_list)
res = re.findall(f'((?:{tags}).+?)(?={tags}|$)', line)

print(res)