Patent ID: 7512634

Claim:
A computing device for compiling a regular expression, the regular expression indicating a first subexpression, a second subexpression, and a required relationship between the first subexpression and the second subexpression, the device comprising: at least one processor: and software code configured for execution by the at least one processor in order to cause the computing device to: generate a DFA corresponding to the regular expression, wherein the DFA comprises a first terminal state indicative of locating the first subexpression and a second terminal state indicative of locating the second subexpression; and define a match criteria indicating a required relationship between the first subexpression and the second subexpression such that first information regarding the first subexpression located in an input data stream, second information regarding the second subexpression located in the input data stream, and the required relationship indicated in the match criteria are usable to determine whether the regular expression is matched in the input data stream, wherein the DFA does not indicate the required relationship between the first subexpression and the second subexpression.