c++ - 在 C/C++ 中存储 PCRE 编译的正则表达式

标签 c++ c regex pcre

有没有一种有效的方法可以将编译后的正则表达式(通过 regcomp()、PCRE 编译)存储在二进制文件中,以便稍后我可以从文件中读取并调用 regexec()?

或者只是将编译后的 regex_t 结构转储到文件并在需要时读回它们?

最佳答案

除非你有 super-complex regex ,我几乎看不出序列化编译后的正则表达式有什么好处,编译时间应该不会那么长。除非你在一个超紧密的嵌入系统上?

无论如何,确实倾倒结构可能是一个解决方案,至少你可以尝试...
[编辑] 我只是查看了我的源代码(6.7),正如我所担心的那样,它并不是那么简单,结构以 void * 开头......你不能序列化指针,它们必须重新计算。

关于c++ - 在 C/C++ 中存储 PCRE 编译的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/192940/

相关文章:

c - 替换 C 中的单词

java - 基于工作 php 代码在 Java 中使用正则表达式

c++ - 模板化 ctor 上的编译器错误(这是编译器错误吗?)

c++ - Boost Spirit 不检查 int 溢出

c++ - 保存json文件后如何返回文件路径?

php - 读取文件/调用脚本在 preg_match_all 中的结果与代码中的文本不同

objective-c - 在 Objective C 中使用正则表达式从 url 获取 Vimeo Clip_id

c++ - 全局运算符和多态性

c++ - sip调用中主叫和被叫如何共享RTP的ssrc值?

c - 如何使用c获取站点ip地址