1. A search engine configured to determine whether an input string including a plurality of input characters matches a regular expression including an inexact patter, wherein the inexact pattern comprises a specified range of instances of selected characters each belonging to a specified set of characters, the search engine comprising: a microcontroller having an input to receive a microprogram embodying the inexact pattern, wherein a first portion of the microprogram embodies the specified set of characters and a second portion of the microprogram embodies the specified range; 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 by executing the first portion of the microprogram; 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 by executing the second portion of the microprogram.