私は正規表現を持っていて、ピリオドや?で終わらないテキストが含まれている "見出し行"をすべて見つけるはずです。または:!Python、この正規表現の仕組み
tit_pat = re.compile(r"([\w ]+?)(?![!?.])\n",re.UNICODE)
res = tit_par.findall(data)
: 例:
章1xのテスト
このテストテストテストテストテスト。これはいくつかのテキストとより多くの テキストでのテストです。これはいくつかのテキストとより多くのテキストといくつかのテキストとより多くのテキストとのテスト。 これはもう少しのテキストです。もう少しのテキストです。もう少しのテックスです。もう少しテキストです。 チャプターaaa
これはテストです。このテストは、あるテキストとより多くのテキストといくつかのテキストとより多くのテキストといくつかのテキストとより多くのテキストといくつかのテキストとより多くのテキスト。
bbbb
終了です。
正規表現は、ピリオドと改行のないテキストを含むすべての「見出し行」を検索しています。受け入れる前にピリオド(または!または?)でないチェックがある(否定的な)先読みステートメントがあるため、これが予想されます。 しかし、私は行で始まり、次の行にピリオドで終わる文を持つかもしれません。正規表現は、ピリオドのないテキストの行を見つけられません。この動作の説明はありますか?
正規表現を使用しているのは、検索操作を行うために大きなファイルを文字列として読み込んでいるためです。私は "先を見て"削除して、それはまだ期待どおりに実行しています。ありがとうKarl Knechtel! – user963386