Expresoes regulares sao boas praticas

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.