約 35KB のテキストを入力し、そこから小さなデータを取得する必要があります。複数の正規表現を使用してデータを検索すると、その部分は正常に機能します。
私の質問: 大きなテキストを複数の小さな文字列に分割し、各文字列で適切な正規表現を実行するか、1 つの大きな文字列に保持して各正規表現のマッチャーをリセットする必要がありますか? 効率的にはどの方法が最適ですか?
実行速度が遅すぎない場合は、現在使用しているもので十分に高速に動作しているものを使用してください。
それ以外の場合は、とにかくこのタスクに生の正規表現を使用しないでください。「小さなデータ」を抽出する「複数の正規表現」に言及するとすぐに、パーサーの作成について話しているので、適切な解析ツールを使用する必要があります。
Java を使用しているので、非常に成熟した安定した C ツールの成熟した Java 実装であるjFlexから始めることをお勧めします。
ほとんどのタスクでは jFlex だけで十分ですが、問題がより複雑であることが判明した場合は、多数の Java パーサー ジェネレーターとスムーズに統合することもできます。私の個人的な好みは、少し目立たないBeaverです。
もちろん、一連の正規表現として実装できる場合は、それほど複雑ではなく、jFlex がその仕事をしてくれます。