1. An apparatus for detecting presence of selected complex strings in a data stream, said apparatus comprising: a memory device storing a predefined complex dictionary containing a plurality of complex strings, each complex string having an arbitrary number of interleaving coherent strings and ambiguous strings; a first computing device having a processor and a memory device storing computer readable instructions for segmenting said predefined complex dictionary into a segmented dictionary and a segment-descriptor matrix, so that: each entry in said segmented dictionary comprises a string segment of a respective complex string; and each row in said segment-descriptor matrix comprises numeric data for facilitating parsing said respective complex string; a second computing device having a memory device and comprising: a first processor for locating selected coherent strings of said plurality of complex strings in said data stream; and a second processor for ascertaining congruence of interleaving portions of said data stream to selected ambiguous strings of said plurality of complex strings; and a memory device storing processor executable instructions which cause said second processor to: determine equality of a first number of characters of each interleaving portion and a second number of characters of a respective ambiguous string; and access a table of predefined classes, each class corresponding to a subset characters, arranged in an arbitrary order, of an alphabet, to determine classes of likewise positioned characters of said each interleaving portion and said respective ambiguous string; wherein each character in said selected ambiguous strings is defined according to class association and said congruence is determined according to class definition of characters of said interleaving portions; and wherein the processes of locating and ascertaining are pipelined.