Как использовать pcre_study с pcrecpp? - PullRequest
0 голосов
/ 17 марта 2012

Я использую Google C ++ интерфейс для PCRE, чтобы сопоставить одно регулярное выражение несколько раз (возможно, тысячи раз). Из прочтения руководства по PCRE кажется хорошей идеей позволить PCRE «изучить» (потратить время на оптимизацию) регулярное выражение, однако я не могу найти способ сделать это с помощью оболочки C ++. pcrecpp.h вообще не упоминает учебу.

Стоит ли использовать pcre_study (), и если да, то как его можно комбинировать с pcrecpp и его классом RE?

1 Ответ

2 голосов
/ 17 марта 2012

При быстром сканировании исходного кода PCRE ++ выясняется, что «изучение» невозможно с этим API, поскольку скомпилированный элемент RE (pcre*) объекта оболочки RE равен private и нет способа вытащить или сбросить его.

Если вы хотите знать, стоит ли оптимизировать обучение с вашими RE, самый простой вариант, который я вижу, это скопировать pcrecpp.{cc,h} в ваш проект и взломать его; C ++ API - это просто тонкий код-обертка. Возможно, вы даже захотите представить патч для апстрима, если, как и я, вы хотите засорять проекты с открытым исходным кодом своим именем и авторскими правами;)

...