У меня есть список фраз (введенных пользователем), я хотел бы найти их в текстовом файле, например:
titles = ['Blue Team', 'Final Match', 'Best Player',]
text = 'In today Final match, The Best player is Joe from the Blue Team and the second best player is Jack from the Red team.'
1. / Я могу найти все вхождения этих фраз примерно так
titre = re.compile(r'(?P<title>%s)' % '|'.join(titles), re.M)
list = [ t for t in titre.split(text) if titre.search(t) ]
(Для простоты я предполагаю идеальный интервал.)
2. / Я также могу найти варианты этих фраз, например. «Синяя команда», финальный матч »,« лучший игрок »... используя re.I, если они когда-либо появляются в тексте.
Но я хочу ограничиться поиском только вариантов входных фраз с их первой буквой в верхнем регистре, например. «Синяя команда» в тексте, независимо от того, как они были введены в качестве ввода, например «Голубой чай».
Можно ли что-то написать, чтобы "заблокировать" флаг re.I для части фразы? В псевдокоде я создаю что-то вроде '[B] lue Team | [F] inal Match'.
Примечание. Моя основная задача - не, например, вычислить частоту ввода фраз в тексте, а извлечь и проанализировать фрагменты текста между ними или вокруг них.