文字列を渡されたときに「はい」または「いいえ」を返すリモート「エージェント」があります。このエージェントとの通信にはコストがかかるため、正と負のフィードバックを与えられた正規表現を反復的に構築できるライブラリを見つけたいと思っています。これにより、送信側で回答をキャッシュできます。
たとえば、エージェントに「良い」と問い合わせて、「はい」を受け取ったとします。最初に派生した正規表現は「良い」はずです。
次に「goop」でクエリを実行し、「yes」を受け取ったとします。派生した正規表現は、「good|goop」ではなく「goo[dp]」になると思います。
などなど。
派生した正規表現では、バックトラッキングやその他の派手な非線形時間操作は必要ありません。おそらく、生成された正規表現は内部の DFA になります。これを実行できる c/c++ 正規表現ライブラリを知っている人はいますか? あるいは、これがばかげた考えである理由と、実際の問題に対するより良い解決策も役立ちます。