1. A method for creating finite state automata (FSA) that match patterns in parallel, comprising: creating states of the finite state automata from a set of patterns to be matched; passing over the set of patterns a second time; and adding transitions to the states to match all possible patterns that can start within the set of patterns to be matched.