2012-03-17 3 views
0

私はPCREにGoogleのC++インターフェイスを使用して、1つの正規表現を複数回(おそらく何千回も)マッチさせています。 PCREのマニュアルを読むことから、PCREが正規表現を「学習」(時間を最適化するのに費やす)にさせるのは良い考えですが、C++ラッパーを使ってその方法を見つけることはできません。 pcrecpp.hには全く勉強することは言及されていません。pcrecppでpcre_studyを使用するにはどうすればよいですか?

pcre_study()を使用していますか?もしあれば、pcrecppとそのREクラスをどのように組み合わせることができますか?

+2

ドキュメントを読んでも明確な答えが得られない場合、悪臭を放つ動物 –

答えて

2

PCRE++ source codeのクイックスキャンから、REラッパーオブジェクトのコンパイルRE(pcre*)メンバーがprivateで、それを取得したり、それをリセットする方法はありませんので、「勉強する」このAPIを持つことは不可能であることが表示されます。

研究の最適化が貴重なものであるかどうかを知りたい場合は、pcrecpp.{cc,h}をプロジェクトにコピーしてハックするのが最も簡単な方法です。 C++ APIはラッパーコードのほんの一部です。私のようにあなたの名前と著作権でオープンソースプロジェクトを捨てたいのであれば、アップストリームのパッチを提出したいかもしれません)