多模式匹配也可以叫多关键字匹配,就是给你两个或者两个以上的关键字,从一片文档或者文件中找出这些关键字。
目前我知道的方法有两种:第一种是基于有限状态机的匹配方法,以1979年的AC算法为经典,其后有不少的改进方法;
第二种是基于hash的匹配方法,以sunwu的算法为代表。
第一种方法的实现的核心是有限状态机,对于状态机而言有个致命的缺点就是当关键字太多(>=5000)的时候,内存占用会非常大,我的实验结果是,对于p4 2.4G的pc而言,能够支持到8000的样子,此时算法效率非常低,主要是因为cpu总是需要换页。因此,其后有用双数组的方法实现状态机,以达到减少内存占用的问题。
剩下的以后再写