У меня есть (бегущий) текст со многими предложениями. У меня есть регулярное выражение, которое может извлечь предложения, оканчивающиеся точкой, вопросом или восклицательным знаком. За концом предложения должно следовать начало следующего предложения (пробелы / табуляции / новые строки и заглавная буква или цифра). Я читаю строку, хранящуюся в данных, и вызываю регулярное выражение.
basic_pat = re.compile(r"[(']?\w.+[)']?[?.!](?=\s+[A-Z\d])")
result = basic_pat.findall(data)
Это регулярное выражение работает, если мы не принимаем во внимание случаи аббревиатур.
В тексте у меня также могут быть некоторые тексты глав, которые не заканчиваются точкой. Например:
Это первая глава
Вот первое предложение. Вот второе предложение. Вот третье посланное. Вот
четвертый послал ...
У меня вопрос: возможно ли иметь одно регулярное выражение, которое читает только тексты глав, а также регулярное выражение, которое читает предложения? Главы представляют собой свободный текст в строке без точки. Обычные предложения могут занимать несколько строк. То есть предложения также могут иметь текст в строке без точки. Можно ли отличить две ситуации (глава от предложений) с помощью регулярного выражения?