2012-03-17 64 views
0

我使用Google的C++接口與PCRE匹配多次(可能是數千次)單個正則表達式。從閱讀PCRE手冊看,讓PCRE'研究'(花費時間優化)正則表達式似乎是一個好主意,但是,我似乎無法找到用C++包裝器做到的方法。 pcrecpp.h沒有提到學習。如何在pcrecpp中使用pcre_study?

是否使用pcre_study()worthwile,如果是這樣,它如何與pcrecpp及其RE類組合使用?

+2

如果閱讀文檔沒有給出明確的答案,那麼迴避那些惡臭氣味的動物 – 2012-03-17 14:05:56

回答

2

PCRE++ source code的快速掃描,似乎「學習」是不可能用這種API,因爲編譯RE(pcre*)的RE包裝對象的成員是private,有沒有辦法把它弄出來或重置。

如果你想知道你的RE是否值得學習優化,我看到的最簡單的選擇是將pcrecpp.{cc,h}複製到你的項目中並將其加入; C++ API只是一些簡單的包裝代碼。如果像我一樣,你喜歡用你的名字和版權亂丟開源項目,你甚至可能想向上遊提交一個補丁;)