gpt4 book ai didi

c - 为什么在使用 PCRE 库时需要显式编译正则表达式?

转载 作者:行者123 更新时间:2023-12-02 08:39:25 25 4
gpt4 key购买 nike

我提到了 Regular expressions in C: examples?

似乎正则表达式在使用前必须“编译”。为什么这需要明确地完成?为什么“pcre_exec”不能自己完成这项工作?

最佳答案

这是一个设计决定。

可以,但是如果它在一步中完成编译执行,那么多次使用同一个正则表达式会非常低效。正则表达式的编译是一个计算量大的操作(就像编译一些用编程语言编写的源代码是昂贵的),所以如果你想多次使用正则表达式,那么做

expensive_compilation(regex_object, "/the/regular\.expression$");

for (i = 0; i < 1000000; i++)
regex_match(regex_object, next_line_to_be_processed);

与将(冗余)编译移动到循环内相比,明显更快

关于c - 为什么在使用 PCRE 库时需要显式编译正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17964583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com