引用の長さや引用内の文の数に関係なく、引用を含むすべての文を一致させようとしています。
Alfe が指摘しているように、完璧な正規表現を取得することはおそらく実行可能ではありませんが、可能であれば使用している正規表現を改善したいと考えています。
現在、引用を見つけるためにこれを行っています:
def split_by_quotes(text):
pattern = r'([A-Z].*?\".*?\".*?\.)'
quotes = re.findall(pattern, text)
return(quotes)
しかし、引用が文に表示されていることを確認してから、その文全体をキャプチャしたいと考えています。
文とは、次のようなテキストを意味します。
- 通常、前にスペースがあります
- 大文字または引用符で始まる
- のいずれかで終わります。また !また ?または (直接 " または ' が続く場合もあります)
- 通常、スペースが続きます
Alfe が指摘するように、これですべての文がキャプチャされるわけではありませんが、その条件で一致できれば十分です。
例えば:
「これは引用符です。一致する必要があります」
これは、複数のキャリッジ リターンの後の新しい行に引用符がないテキストです。一致する必要はありません。
より複雑な例:
チャールズ・バベッジは次のように述べています。私は、そのような疑問を引き起こす可能性のある考えの混乱の種類を正しく理解することができません。」
その文全体が一致します。
しかし、
彼らはガーフィールドからガーフィールドとロルキャッツを差し引いたものと呼んだが、ジョンソンが誰かが転んで、キーボードを持った猫によって「ステージ外で演奏される」という特に陽気なクリップだと彼が考えたものを見たとき、彼の友人たちはそれが不自由だと思った. 「私は、これは大物になるだろうと言った」と彼は言う。
次のように一致します。
彼らはガーフィールドからガーフィールドとロルキャッツを差し引いたものと呼んだが、ジョンソンが誰かが転んで、キーボードを持った猫によって「ステージ外で演奏される」という特に陽気なクリップだと彼が考えたものを見たとき、彼の友人たちはそれが不自由だと思った.
と
「私は、これは大物になるだろうと言った」と彼は言う。