多くの文を含む (実行中の) テキストがあります。ピリオド、疑問符、感嘆符で終わる文を抽出できる正規表現があります。文の終わりには、次の文の開始が続く必要があります (空白/タブ/改行と大文字または数字)。データに格納されている文字列を読み取り、正規表現を呼び出します。
basic_pat = re.compile(r"[(']?\w.+[)']?[?.!](?=\s+[A-Z\d])")
result = basic_pat.findall(data)
略語のケースを考慮しなければ、この正規表現は機能しているようです。テキストには、ピリオドで終わらない章テキストもあるかもしれません。例えば:
これが最初の章です これが
最初の文です。これが 2 番目のセンテンスです。これが4番目に送信されたものです...
私の質問は、章のテキストのみを読み取る正規表現と、文を読み取る正規表現を1つ持つことが可能かどうかです。章は、ピリオドのない行の緩いテキストです。通常の文章は数行にわたる場合があります。つまり、文にはピリオドなしの行にテキストが含まれている場合もあります。2 つの状況 (章と文) を正規表現で区別することは可能ですか?