最有效的方法是在pcre库的批处理正则表中找到第一个匹配项

时间:2016-01-07 13:19:09

标签: c++ c pcre

有很多方法可以调整pcre库,我一直在思考一段时间内处理效率最高的方法来匹配正则表达式列表。

在我的用例中我只关心比赛,我想在第一场比赛后停止,我不关心比赛的内容。我意识到这一点,我可以使用match_limit

表现很重要。

正则表达式作为列表提供,我可以"或"他们一起成为一个正则表达式。 (?:(?:regex1)|(?:regex2))或其他一些,但这可能会有问题,我可能最终需要编译一个特别长的字符串,并在构建字符串时重复使用内存,这感觉很讨厌,我不知道怎么做这将是vs匹配编译的pcre列表,我想我应该进行基准测试。

我会写一些基准测试,并尽可能地测试以下技术:

  1. 将正则表达式连接成一个大的正则表达式。
  2. 单独编译正则表达式 - 依次匹配正则表达式列表
  3. 单独编译正则表达式 - 并行工作线程中的匹配列表
  4. 我错过了什么吗?我可以想象,编译成单个大型正则表达式可能会提供一些优化而不是进行多次匹配。

    真正寻找具有一定经验和专业知识的人来指导我朝着正确的方向前进。

0 个答案:

没有答案