Victor Anyakin

CL-STRING-MATCH aims at providing robust implementations of substring search (subsequence search) algorithms in Common Lisp.

Currently it provides implementations of the following string matching algorithms:

  • Brute-force (also known as naïve algorithm)
  • Boyer-Moore (with mismatched character heuristic)
  • Boyer-Moore-Horspool algorithm
  • Rabin-Karp algorithm
  • Knuth-Morris-Pratt algorithm
  • Aho-Corasick algorithm with finite set of patterns and the Trie data structure
  • Ukkonen's suffix tree construction algorithm

Additional information:


Wiki: Resources and Literature
Wiki: Suffix Tree