長時間実行される正規表現の一致を終了するための手法について疑問に思っています (Java matcher.find() メソッド)。おそらくMatcherをサブクラス化し、x回の反復後に終了するロジックを追加しますか?
基本的に、遺伝的アルゴリズムを使用して正規表現を生成しているため、それらをあまり制御できません。次に、それぞれをテキストに対してテストして、テキストの特定のターゲット領域と一致するかどうかを確認します。
したがって、これらの正規表現をランダムに生成しているので、いくつかのクレイジーなことが起こっており、大量の CPU を消費し、一部の find() 呼び出しが終了するまでに時間がかかります。しばらくしてから殺したほうがいいのですが、それを行う最善の方法がわかりません。
ですから、誰かアイデアがあれば教えてください。