2013年11月3日

多正则表达式匹配(Multiple Regular Expression Matching)

摘要: 目前 febird 中的自动机库已支持正则表达式,并且,支持的是多正则表达式匹配:给定 M 个正则表达式,每个正则表达式有一个 [0, M) 的唯一 ID,该算法为这些正则表达式生成一个 DFA。再给定一个输入文本 Text,长度为 T,假定只计最长匹配,该 Text 可以匹配 M 个正则表达式中的的 K 个。在该DFA上运行我的匹配算法,可以在 O(T + K) 的时间复杂度内找到那 K 个正则表达式,这个时间复杂度与 M 完全没有关系!从信息论的角度讲,该算法是最优的。如果要获得在 Text 中的所有 N 个匹配点(N on_match);delim 一般是 \t ,创建用于该接口的 DF 阅读全文

posted @ 2013-11-03 22:22 能发波 阅读(773) 评论(0) 推荐(0) 编辑

导航