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 ';' inclusive, no utilice el patrón ".*;" porque éste compara hasta el último carácter ';' del mensaje, incluyendo los caracteres ';' anteriores del texto comparado. En su lugar, deberá utilizar 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á 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 de la mejor coincidencia.

Conceptos relacionados
Modelos de mensaje
El modelo de mensaje
Formato de serie de caracteres codificada/delimitada: 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, 2005 Última actualización: 11/11/2005
ad09910_