У меня есть ряд новостных статей, в некоторых из которых есть вступительные и конечные заявления.Возможные комбинации: ...
- Некоторый текст о новостях.
- BBC сообщает: Небольшой текст о новостях.Подробнее на BBC.com.
- BBC сообщает: Некоторые тексты о новостях.
- Некоторые тексты о новостях.Читайте больше на BBC.com.
Что я хотел бы сделать, так это вернуть «Некоторый текст о новостях».в каждом случае.У меня есть следующее регулярное выражение, которое возвращает 1-й и 2-й пример.Я борюсь, когда есть либо вступительные, либо конечные заявления.
re.search(r'(?i)(?<=: ).*(?=Read more|Full story|\. Source)', str(doc)).group()
# "(?i)" to ignore case.
# "(?<=: )" to capture text after and excluding ": "
# ".*" match everything between the two patterns.
# "(?=Read more|Full story|\. Source)" match everything before these three strings.