15. A computer implemented method according to claim 12 wherein comparing step (g3b3) further comprises the steps of: (g3b3a) when a match is not found, determining if there are any said alias characters in said temporary alias character list left to be used for comparison in place of said first character; (g3b3b) when said determining step (g3b3a) result is yes, replacing said first character with a first alias character in said temporary alias character list and passing control to said comparing step (g3b3) for said first alias character; (g3b3c) when said determining step (g3b3a) result is no, determining if there are any wildcards left to substitute for said first character; and (g3b3d) when said determining step (g3b3c) result is yes, replacing said first character with said wildcard and passing control to said comparing step (g3b3).
12. A computer implemented method according to claim 11 wherein processing step (g3b) further comprises the steps of: (g3b1) checking a first character of a first of said plurality of strings against a predefined alias character list, wherein each of said alias characters is a predefined character mapping where more than one character in an ordered sequence is mapped to a single character; (g3b2) when a match is found in said step (g3b1) for said first character of said first of said plurality of strings, building a temporary alias character list for said first character; (g3b3) comparing said first character against a first character of all said previously identified undesirable terms in said secondary database of undesirable terms for a match; (g3b4) when a match is found, counting the match toward a predetermined total of counted matches needed to identify said at least one matching phrase; (g3b5) for said match, determining if a flag has been set in a current position of said previously identified undesirable term in said secondary database of undesirable terms, indicating an end of said previously identified undesirable term; (g3b6) when said determining step (g3b5) result is no, passing control to step (g3b10); (g3b7) when said determining step (g3b5) result is yes, determining if a total of said counted matches is equal to said predetermined total of counted matches needed to identify said at least one matching phrase; (g3b8) when said determining step (g3b7) result is yes, saving said first of said plurality of strings as said at least one matching phrase; (g3b9) when said determining step (g3b7) result is no, passing control to step (g3b10); (g3b10) determining if said recursive matching comparison subroutine has reached an end of said first of said plurality of strings; (g3b11) when said determining step (g3b10) result is no, calling, by said recursive matching comparison subroutine, said recursive matching comparison subroutine recursively; (g3b12) moving to a next character in said first of said plurality of strings and passing control to said checking step (g3b1) for said next character; (g3b13) repeating steps (g3b1) through (g3b12) for said next character; and (g3b14) repeating step (g3b13) for each remaining character in said first of said plurality of strings.