Deberá tener cuidado al especificar expresiones regulares: algunos formatos de la expresión regular pueden implicar una gran cantidad de trabajo para encontrar la mejor coincidencia, lo que producirá un impacto adverso en el rendimiento. Es posible que otras expresiones produzcan un resultado inesperado.
Por ejemplo, para comparar texto hasta un carácter delimitador ';', éste inclusive, no utilice el patrón ';.*;' porque éste compara hasta el último carácter ';' del mensaje, incluyendo todos los caracteres ';' anteriores del texto comparado. En su lugar debería usar el patrón "[^;]*;".
Asimismo, evite utilizar el patrón ".*" porque éste siempre forzará una búsqueda hasta el final del mensaje para intentar encontrar la mejor coincidencia, lo cual puede producir un rendimiento pobre. Sin embargo, debería utilizar el patrón ".*" si piensa comparar todos los datos restantes de un mensaje.
Para obtener un rendimiento óptimo, evite expresiones con repeticiones anidadas redundantes, por ejemplo "([0-9]+)*". Procure que las expresiones sean simples, con criterios de comparación precisos. De este modo evitará tener que realizar varias búsquedas para encontrar la mejor coincidencia.