有没有一种有效的方法可以将编译后的正则表达式(通过 regcomp()、PCRE 编译)存储在二进制文件中,以便稍后我可以从文件中读取并调用 regexec()?
或者只是将编译后的 regex_t 结构转储到文件并在需要时读回它们?
最佳答案
除非你有 super-complex regex ,我几乎看不出序列化编译后的正则表达式有什么好处,编译时间应该不会那么长。除非你在一个超紧密的嵌入系统上?
无论如何,确实倾倒结构可能是一个解决方案,至少你可以尝试...
[编辑] 我只是查看了我的源代码(6.7),正如我所担心的那样,它并不是那么简单,结构以 void * 开头......你不能序列化指针,它们必须重新计算。
关于c++ - 在 C/C++ 中存储 PCRE 编译的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/192940/