string matching by Boyer-Moore