1. A computer-implemented method of parsing data using a plurality of pattern matching rules, the method comprising: deriving one or more optimized pattern matching rules from an original pattern matching rule; determining if the one or more optimized pattern matching rules match any of the data to be parsed; bypassing an application of the original pattern matching rule to the data when the one or more optimized pattern matching rules do not match the data; and applying the original pattern matching rule to the data when the one or more optimized pattern matching rules match the data.