在大量字符串上测试RegEx

时间:2014-05-09 08:27:39

标签: regex search match automaton

我有很多字符串(可能大约50k-1M,所有字符串都不长,可能是1-20个字符)。现在我得到任何RegExp,我需要返回所有匹配字符串的列表/迭代器。这必须尽可能快。

有什么好的指数结构呢?

目前,我正在为字符串的字符构建一棵树。我将RegExp转换为确定性自动机。然后我计算该自动机与树的交集。这看起来很快,但我想知道其他可能性。

额外的挑战是支持Unicode / UTF8,但我现在不想把这个问题集中在那个问题上。

1 个答案:

答案 0 :(得分:0)

我刚刚找到codesearch project,似乎已经实现了这一点。解释如下:Regular Expression Matching with a Trigram Index

另一篇相关文章可能是:Regular Expression Matching Can Be Simple And Fast

(我还没有进一步调查过。我稍后会延长这个答案。)