Boyer, Robert S. and Moore, J. Strother. "A fast string searching algorithm." Communications of the ACM 20 , no. 10 (1977): 762--772.