A search engine configured to determine whether an input string including
a plurality of input characters matches a regular expression including an
inexact pattern including a specified range of instances of pattern
characters each belonging to a specified set of characters, the search
engine including a microcontroller having an input to receive a
microprogram embodying the inexact pattern, a first co-processor coupled
to the microcontroller and dedicated to determine whether each input
character in a first portion of the input string is a member of the
specified set of characters, and a second co-processor coupled to the
microcontroller and dedicated to determine whether the number of input
characters in the first portion of the input string falls within the
specified range.