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.