Ola pessoal,
Andei dando uma olhada em expressoes regulares e vi que ele pode reduzir muito o numero de linhas no tratamento de strings, mas eu nao achei o codigo resultante muito claro (talvez por eu nao saber muito de regex ainda). Outro problema eh que essa expressoes me pareceram faceis de serem “quebradas” a qualquer alteracao pequena e que nao seja MUITO bem testada.
Depois de toda isso a pergunta que fica eh? Devo usar regex? Se sim, quando? Quando NAO usar?
Obrigado
Eu uso regex para validações que possuem um padrão de formação.
Você que deve sentir a necessidade de usar ou não regex.
Usar ou não vai de gosto pessoal.
Um bom lugar para você aprender regex:
http://aurelio.net/er/
Certas coisas não funcionam bem com expressões regulares:
- Avaliação de expressões aritméticas (expressões regulares não sabem contar parênteses);
- Parse de HTML; (para efetuar parse de HTML use um parser de HTML!)
Muitas coisas funcionam bem com expressões regulares:
- Validação de entradas;
- Separação de itens em entradas complexas;
- etc.
Obviamente você deve documentar bem o que você quer com uma expressão regular. Uma forma boa de documentar é pôr um comentário indicando possíveis entradas e saídas, para facilitar (e mesmo para você poder fazer um teste unitário depois).
Portanto, “boa prática” é só quando você SABE O QUE ESTÁ FAZENDO.
Usar única e tão somente expressões regulares é coisa de quem só tem um martelo na caixa de ferramentas, e acha que tudo é prego. É bom usar expressões regulares, mas quando elas são necessárias.