Finite State Methods for String Matching