Tenha cuidado ao especificar expressões regulares: algumas formas de expressões regulares podem envolver uma grande quantidade de trabalho para localizar a melhor comparação, o que pode degradar o desempenho.
Outras expressões podem produzir um resultado inesperado.
Por exemplo, para corresponder o texto até (e inclusive) um caractere delimitador ';' não use o padrão ".*;", que corresponde até o último caractere ';' na mensagem, incluindo todos os caracteres ';' anteriores no texto correspondido. Ao contrário, use o padrão "[^;]*;".
De forma análoga, evite usar o padrão ".*", que sempre força uma procura até ao fim da mensagem para tentar localizar a melhor correspondência e, portanto, pode resultar em um desempenho prejudicado. Entretanto, você deve usar o padrão ".*" se pretender corresponder todos os dados restantes em uma mensagem.
Para melhor desempenho, evite expressões com repetições aninhadas redundantes, tais como "([0-9]+)*". Mantenha as expressões simples, com critérios de comparação precisos. Expressões simples evitam a necessidade de executar procuras múltiplas pela melhor correspondência.