aho-corasick implementation