1. Introduction
String pattern matching is a common important operation in many applications. Various good solutions have been presented for pattern matching. One of the most efficient methods is the Boyer-Moore algorithm (BM) [3], [5] that was developed by R. S. Boyer and J. S. Moore. The Boyer-Moore algorithm uses three clever ideas [10]: the right-to-left scan, the bad character shift rule, and the good suffix shift rule. Together, these ideas lead to a method that typically runs in “sublinear” time for sufficiently large alphabets and sufficiently long patterns.