Considerazioni sulle prestazioni dell'utilizzo di espressioni regolari

Quando vengono specificate espressioni regolari, è possibile che alcuni formati dell'espressione regolare prevedano l'utilizzo di molte risorse per trovare la corrispondenza migliore e quindi condizionare le prestazioni. E' possibile che altre espressioni producano un risultato non previsto.

Ad esempio, per mettere in corrispondenza il testo precedente includendo un carattere di delimitatore ";" non utilizzare il modello ".*;" poiché questo mette in corrispondenza con l'ultimo carattere ";" nel messaggio, incluso qualsiasi carattere ";" precedente nel testo messo in corrispondenza. E' invece necessario utilizzare il modello "[^;]*;".

In modo analogo, evitare l'utilizzo del modello ".*" poiché questo forza sempre la ricerca della migliore corrispondenza fino alla fine del messaggio ed è possibile che ciò riduca le prestazioni. Tuttavia, è necessario utilizzare il modello ".*" se si desidera mettere in corrispondenza tutti gli elementi rimanenti in un messaggio.

Per ottenere una prestazione ottimale, evitare espressioni con ripetizioni nidificate ridondanti, ad esempio "([0-9]+)*". Mantenere le espressioni semplici, con criteri di corrispondenza precisi. Ciò evita l'esecuzione di più ricerche per trovare la migliore corrispondenza.

Concetti correlati
Creazione di modelli di messaggio
Il modello di messaggio
Formato TDS: relazione con il modello logico
Attività correlate
Sviluppo di modelli di messaggio
Gestione di un file di definizione dei messaggi
Gestione degli oggetti del modello messaggio
Riferimenti correlati
Informazioni di riferimento del modello di messaggio
Proprietà dell'oggetto modello di messaggio
Informazioni aggiuntive sul dominio MRM
Informazioni TDS aggiuntive
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ad09910_