查看regex_t man page,有一个regcomp()
函数可以从字符串和双重函数regex_t
编译regfree()
结构,以释放regex_t
(我知道由于regex_t
在内部使用了一些动态内存,因此需要释放。)
但是,该手册页未提及将已编译的regex_t
克隆到另一个regex_t
结构中的函数。有没有办法做到这一点?
我能想到的唯一机制是从源字符串重新编译,但我想这比仅在regex_t
级别复制效率低。
答案 0 :(得分:0)
为什么“克隆”? regex_t
不包含与其进行比较的输入的任何信息(使用regexec
)。它只是正则表达式的“编译”版本。您不必复制它。只是使用它。