gpt4 book ai didi

c - regexec 和 regcomp 比我自己做 strncmp 更有效吗?

转载 作者:行者123 更新时间:2023-11-30 16:01:19 27 4
gpt4 key购买 nike

我有一个像这样的字符串:

I am down in the town seeing a crown="larry" with a cherry="red"

我想编写一个程序来询问用户她想要什么。如果她请求的字符串应包含“larry”作为皇冠和“red”樱桃,我需要返回该字符串。

好吧,我把问题过于简单化了。可能有很多这样的字符串,我需要解析它们并返回所有匹配的字符串。

问题:执行 regexec 和 regcomp 更有效,还是分解字符串并执行 strncmp?

PS:似乎 regexec 需要在内部进行某种比较,而这些比较的设计会非常高效。

最佳答案

我认为 strncmp() 根本不适合这项工作;如果你说strstr(),可能还有讨论的余地。您无法轻松使用 strncmp(),因为您必须找到一个位置来开始比较。

如果您使用strstr(),您将查找如下字符串:

crown="larry"
cherry="red"

如果您使用正则表达式,则必须编译它并运行它。如果您正在搜索两个字符串,则您有两个正则表达式,除非您想编写一个扭曲的正则表达式。我认为,对于需要以任一顺序使用上述两个字符串的简单比较,您可能会发现 strstr() 的两次使用比一个或两个正则表达式更快。<​​/p>

不过,衡量差异还是值得的。它可能取决于strstr()的实现;有些非常好。因此,请在您关心的平台上进行测量,然后选择更适合您的平台。

关于c - regexec 和 regcomp 比我自己做 strncmp 更有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6808944/

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