Один из вариантов - использовать понимание вложенного списка:
sentences = ['Hello, how are you?',
'I am fine, how are you?',
'I am fine too, thanks']
bits = ['hello', 'thanks']
[any(b in s.lower() for b in bits) for s in sentences]
# returns:
[True, False, True]
Если вы хотите использовать регулярное выражение, вам нужно объединить bits
с символом канала, но вам все равно нужно будет проверить каждое предложение в sentences
по отдельности.
[bool(re.search('|'.join(bits), s, re.IGNORECASE)) for s in sentences]
# returns:
[True, False, True]