gpt4 book ai didi

c - strstr 与 c 中的正则表达式

转载 作者:行者123 更新时间:2023-12-04 12:06:54 26 4
gpt4 key购买 nike

比方说,我有一个用户 ID、访问时间、程序名称和版本号的列表作为 CSV 字符串列表,如下所示:

1,1342995305,Some Program,0.98
1,1342995315,Some Program,1.20
2,1342985305,Another Program,15.8.3
1,1342995443,Bob's favorite game,0.98
3,1238543846,Something else,
...

假设这个列表不是一个文件,而是一个内存中的字符串列表。

现在假设我想了解某个程序被某些程序访问的频率,如它们的版本号所列。 (例如,“Some Program version 1.20” 被访问了 193 次,“Some Program version 0.98” 被访问了 876 次,“Some Program 1.0.1” 被访问了 1,932 次)

构建正则表达式然后使用 regexec() 查找匹配项并提取版本号,或者 strstr() 匹配程序名加逗号,然后只读字符串后面的部分作为版本号?如果它有所作为,假设我在 Linux 上使用 GCC。

有性能差异吗?一种方法比另一种方法“更好”或“更合适”吗?这有关系吗?

最佳答案

使用 strstr() - 使用正则表达式来计算出现的次数不是一个好主意,因为无论如何你都需要使用循环,所以我建议你做一个简单的循环搜索子串的位置并在每次匹配后增加计数器和开始搜索位置。

关于c - strstr 与 c 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11604509/

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