Я бы так и сделал, я бы проанализировал страницу ...
Пропустить все, что начинается с '<' </p>
Когда вы встречаете "." или [A-Z], начните помещать его в буфер, пока не найдете другой "."
Если в буферизованной строке есть ключевое слово для поиска, это ваша строка! Else. начать буферизацию с "." Вы столкнулись и повторите.
РЕДАКТИРОВАТЬ: Как отметил Джеймс Керран, в некоторых случаях эта стратегия потерпит неудачу ... Вот решение:
Что вы можете сделать, это начать X количество символов с начала страницы (после тегов)
и затем ищите ключевое слово, буферизуя 2 предыдущих слова. Когда вы найдете это,
сделать что-то вроде этого: {X} ... {prev-2} {next-2}
Пример: Эта планета имеет - или, скорее, имела - проблему, которая заключалась в следующем: большинство людей, живущих на ней, были несчастны в течение большей части времени. Для этой проблемы было предложено много решений, но большинство из них были в основном связаны с движением маленьких зеленых кусочков бумаги, что было странно, потому что в целом не маленькие несчастные листочки бумаги были несчастны.
Поиск по ключевому слову: «предложил»
Результат: Эта планета имеет - или, скорее, имела - проблему ... Многие решения были предложены для этой проблемы ...