1. A method of evaluating a state machine with respect to a data string, wherein the state machine comprises a plurality of state transition instructions that are associated with transitions from respective states, the method comprising: storing at least some of the state transition instructions in a first memory; determining if a state transition instruction associated with a currently active state of the state machine comprises a multi-character state transition instruction; in response to determining that the state transition instruction associated with the currently active state comprises a multi-character state transition instruction, determining a quantity P of transition conditions indicated in the multi-character state transition instruction, where P is greater than or equal to 2; determining the transition conditions indicated in the multi-character state transition instruction; and determining if the next P characters of the data string match the P transition conditions indicated in the multi-character state transition instruction; otherwise, determining if the next one character of the data string matches a single transition condition indicated in the state transition instruction.