http://dbpedia.org/resource/Knuth–Morris–Pratt_algorithm Knuth–Morris–Pratt algorithm