我正在使用 Google 的 C++ PCRE 接口(interface)多次(可能数千次)匹配单个正则表达式。通过阅读 PCRE 手册,让 PCRE“研究”(花时间优化)正则表达式似乎是个好主意,但是,我似乎找不到使用 C++ 包装器来做到这一点的方法。 pcrecpp.h
根本没有提到学习。
使用 pcre_study() 是否值得,如果是,它如何与 pcrecpp 及其 RE 类结合使用?
最佳答案
来自 PCRE++ source code 的快速扫描, 似乎“研究”是不可能用这个 API 因为 RE
包装器对象的已编译 RE (pcre*
) 成员是 private
并且无法将其取出或重置。
如果你想知道学习优化是否值得你的 RE,我看到的最简单的选择是将 pcrecpp.{cc,h}
复制到你的项目中并将其 hack 进去; C++ API 只是一些简单的包装代码。如果你像我一样喜欢用你的名字和版权乱扔开源项目,你甚至可能想要向上游提交补丁 ;)
关于c++ - 如何将 pcre_study 与 pcrecpp 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9750574/