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

时间:2008-10-10 20:35:25

标签: c++ c regex pcre

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

或者只是将编译好的regex_t结构转储到文件中并在需要时将其读回来?

1 个答案:

答案 0 :(得分:4)

除非你有super-complex regex,否则我几乎看不到序列化编译的正则表达式的优势,编译时间不应该那么大。除非你是一个超紧密的嵌入系统?

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