【发布时间】:2011-06-10 01:12:23
【问题描述】:
假设我只需要找出从文件中读取的行是否包含来自有限组单词的单词。
这样做的一种方法是像这样使用regex:
.*\y(good|better|best)\y.*
实现此目的的另一种方法是使用这样的伪代码:
if ( (readLine.find("good") != string::npos) ||
(readLine.find("better") != string::npos) ||
(readLine.find("best") != string::npos) )
{
// line contains a word from a finite set of words.
}
哪种方式会有更好的性能? (即速度和 CPU 利用率)
【问题讨论】:
-
正则表达式对我来说一直都是 - 每个人都知道它,它快速且易于使用。
-
@Chuck 每个人都知道正则表达式吗?这是多么不真实。 :)
-
这似乎很容易测量和测试
标签: c++ regex performance search