Consideraciones sobre el rendimiento al utilizar expresiones regulares

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.

Conceptos relacionados
Modelado de mensajes
El modelo de mensaje
Formato TDS: Relación con el modelo lógico
Tareas relacionadas
Desarrollo de modelos de mensaje
Cómo trabajar con un archivo de definición de mensajes
Cómo trabajar con objetos de modelo de mensaje
Referencia relacionada
Información de referencia de modelo de mensaje
Propiedades de objeto de modelo de mensaje
Información adicional de dominio MRM
Información adicional de TDS
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ad09910_