Я пытаюсь вырезать статьи из немецкой википедии, чтобы выводить только биографические текстовые данные (вырезать всю литературу, списки книг и т. Д.). Таким образом, пример текста может выглядеть так:
некоторый соответствующий текст == Title1 == более соответствующий текст === Title2 === и
более актуальный текст == немного литературы о человеке == нежелательный текст
== книги автора == больше нежелательного текста ...
Проблема заключается в выводе текста перед шаблоном == [текст, включающий слово литература или книги] ==. Вот это было бы:
некоторый соответствующий текст == Title1 == более соответствующий текст === Title2 === и
более актуальный текст
Я использую Python 3, и я попробовал несколько таких регулярных выражений (и многие другие):
seperator = re.compile(r'={2,3}\s?.*literature.*\s?={2,3}')
m = seperator.search(text)
print (text[:m.start()])
Но, к сожалению, это будет выводить текст только до первого шаблона == Title1 ==:
соответствующий текст
Как я могу сделать его чувствительным, чтобы запечатлеть первый шаблон, в котором есть «литература» или «книга»?
Я надеюсь, что смогу точно описать проблему. Заранее благодарю за помощь и извините, если этот вопрос задавался ранее, я нигде не мог найти решение.
Кстати, нет никакой возможности отличить Title1 от Title2, так как они иногда бывают слишком разными и непонятными, поэтому я попытался различить названия, которые четко обозначают конец биографических текстов, таких как литература или книга, например.