1. A system for searching an input string for a number of regular expressions, comprising: a search block including a plurality of content addressable memory (CAM) devices, wherein each of the CAM devices is differently configured to implement search operations for regular expressions having a unique level of complexity; and a compiler configured to determine the complexity level of each of the regular expressions, and configured to store each regular expression in a selected one of the CAM devices according to its complexity level, wherein the regular expressions that are of a first complexity level each consist of strings and logical operators, and the regular expressions that are of a second complexity level each comprising strings, logical operators, and character classes having a quantifiers number {m} of characters, wherein m is an integer.