Executando verificação de segurança...
6

Só faço uma ressalva com relação ao item 6 (parsing de dados estruturados). Regex costuma ser a pior opção para esses casos, e geralmente o melhor é usar um parser específico.

Em casos mais simples pode até ser tentador usar uma regex simples que "funciona" (e nesses casos até funciona mesmo), mas basta complicar um pouco para ela se mostrar ineficiente, além de ficar cada vez mais complicada.

Para HTML/XML, podemos ver porque regex não é uma boa solução - com exemplos práticos - aqui e aqui. E claro, vale ver também a clássica resposta do Stack Overflow.

O mesmo vale para outros formatos, como JSON. Uma regex que valide corretamente é extremamente complexa, e além de ser difícil de entender e manter, ela é bem limitada, pois usa recursos que nem todas as linguagens suportam, e apenas valida se está no formato correto mas não pega os valores dos campos. Para isso vc vai precisar de um parser, que também já faz a validação (muitas vezes de forma mais eficiente inclusive, pois apesar de não parecer, regex é algo bem custoso), então pra que usar a regex nesse caso?

O mesmo vale para qualquer tipo de dado que tenha um formato estruturado e regras de validação mais complexas (como datas, já que cada mês tem uma quantidade diferente de dias, tem ano bissexto, etc, ou seja, são coisas mais difíceis de validar com regex).

Até mesmo para CSV, uma regex mais ingênua pode afundar o desempenho da aplicação.

Para casos mais simples, uma regex rápida pode até quebrar o galho. Mas para casos gerais, uma solução mais robusta é usar um parser específico para cada tipo de dados.


Por fim, um livro que recomendo é Mastering Regular Expressions, imprescindível para quem quer dominar o assunto.

Carregando publicação patrocinada...