多模式匹配算法

时间:2016-06-02 08:54:39

标签: algorithm pattern-matching finite-automata

我有很多日志,每条记录都包含一个网址。我有大约2000多个url模式来过滤日志。一些模式是具有可捕获组的常规模式。我想得到网址和匹配的模式,如果可能的话,我想获得捕获的组合。有没有一个java lib可以帮助我。或任何可以解决我的问题的算法。或者与我的问题有关的其他任何事情。非常感谢。

1 个答案:

答案 0 :(得分:0)

看一下java正则表达式库(link)。

您可以通过将原始模式与|连接起来构建单个大型模式(使用()指定您不需要1个字符。)

正则表达式可以编译成有效的匹配有限自动机,您可以运行数据。只需确保编译一次并将其重复用于每条记录。

它将处理提取组,但您需要以通用方式处理组(因为任何组都可以匹配)。如果它更容易考虑使用命名组来简化处理。