1. A method, comprising the following steps: i) receiving a dial plan; ii) parsing the dial plan into a plurality of expressions each including at least one expression element; iii) identifying a rule associated with each expression element of each of the plurality of expressions; iv) adding the identified rule associated with each expression element of each of the plurality of expressions to an array of a finite state machine; v) receiving an n-th digit input of a given dial string, where n=1 corresponds to an initial digit input of the given dial string; vi) determining, for each of those of the plurality of expressions that are available for consideration, a match status from among a plurality of possible match statuses by applying the rule associated with an n-th expression element of the respective expression to the n-th digit input; vii) selectively removing one or more of the plurality of expressions from availability for consideration based on the match status determined for the respective expression; viii) incrementing n; and ix) repeatedly performing steps v through viii until the determined match status of one of the plurality of expressions indicates a full match or none of the plurality of expressions is available for consideration.