多模式匹配算法AC和正则表达式
AC多模式匹配算法和正则表达式DFA有什么区别和联系呢?
还有AC中的trie 他们都是啥关系?
我们知道trie其实就是DFA,AC自动机就是在tries上加上了失败路径,所以说AC自动机应该是一种特殊的DFA。
也就是AC多模式匹配算法其实就是用一种特殊的自动机(特殊的DFA)进行多模式(固定字符串)的匹配。
而正则表达式DFA,也是用DFA(一种普通的自动机)进行正则匹配。
也就是说他们的自动机是一样的,一样的机器,一样的引擎,只不过输入和输出内容是不一样的。
完全也可以用AC自动机做正则表达式。
不知道我上面的表述对不对?
我还有个疑问,用ac自动机来做正则匹配需要什么特殊处理么?好想AC不能处理 贪婪字符什么的?