1. A system for determining the start of a match of a regular expression, comprising: a special state table which contains start state entries and terminal state entries; a plurality of start state registers for storing offset information indicative of the start of a match of the regular expression; a deterministic finite state automaton (DFA) next state table which, given the current state and an input character, returns the next state, the DFA next state table including a settable indicator for any next state table entry which indicates whether to perform a lookup into the special state table; and a compiler which loads values into the special state table based on the regular expression.