1. A multi-stage classification method of matching a plurality of strings to one or more policies embodied in a plurality of stages, each stage comprising one or more entries, each entry comprising a criterion and a pointer to a subsequent stage; the method comprising the steps of: (a) generating a current pointer to a current stage using a current string; (b) searching one or more criteria in the current stage, the searching step further comprising the steps of: (i) comparing the current string to the criteria of one or more entries beginning with entries indicated by the one or more current pointers, (ii) defining the one or more current pointers equal to one or more new pointers, wherein each of the new pointers is associated with a criterion in the current stage that matches the current string, and (iii) incrementing the current stage and the current string; (c) repeating the searching step for each of the plurality of stages; (d) generating a score for each match identified in each of the plurality of stages; and (e) selecting the policy of the one or more policies associated with a highest cumulative score, the cumulative score being the sum of the score for each match at each stage of the plurality of stages.