1. A computer-implemented method for determining whether an input string matches at least one regular expression, the computer implemented method comprising: a) accepting, by a processing system including at least one processor, the input string; and b) for each of the at least one regular expression, checking, by the processing system, for a match between the input string accepted and the given regular expression using configured nodes of a state machine stored on the processing system, and corresponding to the given regular expression by using the configured nodes of the state machine to (1) check detection events from a simple string detector, (2) submit each of at least one query to a module of a variable string detector, the module being identified by information included in an activated node of the state machine, and (3) receive, for each of the at least one query, a detection event from the identified module of the variable string detector, wherein at least one of the nodes includes a time range and a pointer to a next node.