регулярное выражение для извлечения предложения из абзаца в Python
Я пытаюсь извлечь предложение из абзаца, используя регулярные выражения в Python.
Обычно код, который я тестирую, правильно извлекает предложение, но в следующем параграфе предложение извлекается неправильно.
Параграф:
«Но в случае малярийных инфекций и сепсиса дендритные клетки по всему организму концентрируются на предупреждении иммунной системы, которая мешает им обнаруживать и реагировать на любые новые инфекции». Новый тип вакцины?
Код:
def splitParagraphIntoSentences(paragraph):
import re
sentenceEnders = re.compile('[.!?][\s]{1,2}(?=[A-Z])')
sentenceList = sentenceEnders.split(paragraph)
return sentenceList
if __name__ == '__main__':
f = open("bs.txt", 'r')
text = f.read()
mylist = []
sentences = splitParagraphIntoSentences(text)
for s in sentences:
mylist.append(s.strip())
for i in mylist:
print i
При тестировании с вышеприведенным абзацем он дает вывод в точности как входной абзац, но вывод должен выглядеть
Но в случае малярийных инфекций и сепсиса дендритные клетки по всему организму концентрируются на предупреждении иммунной системы, которая мешает им обнаруживать и реагировать на любые новые инфекции
Новый тип вакцины
Что-то не так с регулярным выражением?