Expressões regulares é um assunto que dá medo em muita gente. O cara olha aquela mistura aleatória de símbolos, não entende nada e sai xingando quem inventou aquela porcaria :)
Mas depois que você “vê a luz” e aprende a ler e criar suas próprias expressões, um novo mundo de possibilidades se abre e você passa a querer usar expressões regulares em tudo! Do ódio ao vício, o que era trevas vira ferramenta indispensável.
Eu uso expressões regulares todos os dias
Dentro do editor de textos para fazer edições mais avançadas, dentro dos códigos do programa que estou desenvolvendo para casar/substituir textos, na linha de comando do Unix nos grep e sed da vida, no banco de dados para aquela query mais poderosa, na configuração do Apache/Nginx para criar as regras de redirecionamento, e por aí vai...
É muito bom saber usar regex e ter tantas possibilidades diferentes de lugares onde posso aplicar este conhecimento. E melhor, diferente da maioria dos assuntos em informática, este é um que não fica obsoleto. Você aprende uma vez e usa por anos a fio, não há o que se atualizar ou aprender a versão nova. Regex é regex e pronto.
Eu acho expressões regulares tão útil e tão poderoso, me facilita tanto a vida, que acho lastimável que esse conhecimento não seja universal na área nerd. Todos deveriam saber pelo menos o básico, e aplicar no seu dia a dia para economizar tempo. Tento fazer minha parte para ajudar a difundí-las: criei um site, escrevi um livro, fiz vídeos, e dou palestras e cursos.
Não é tão difícil quanto parece
Apesar de parecer ser muito complexo, o assunto em si não é extenso e pode ser explicado e demonstrado em algumas horas. Os conceitos são abstratos, mas junto com exemplos você vai entendendo pra que serve cada um daqueles símbolos (os metacaracteres) e como “montá-los” numa expressão para resolver o seu problema.
Não é decorar, numa questão de horas você realmente entende e aprende como funciona, e sai criando suas próprias expressões do zero. Olha só que massa, num mesmo dia você acorda sem saber nada de regex e no fim do dia estará criando expressões.
Como posso afirmar isso? Porque vi acontecendo na minha frente, várias vezes, nos cursos que ministrei.
Curso de expressões regulares
O primeiro curso de regex que dei foi em 2003 (faz tempo!), e o mais recente foi agora, semana passada. Em todos os cursos, sem exceção, a turma conseguiu aprender os conceitos, o significado dos símbolos e fazer os exercícios sozinhos, criando suas expressões, testando melhorias, discutindo maneiras de resolver os problemas propostos.
Para ter algum tipo de métrica, no início do curso eu peço para cada aluno dar uma nota de zero a dez para o que ele/ela julga ser o seu conhecimento atual em expressões regulares. No fim do curso, mesma pergunta. Meu objetivo é que todos saiam melhores do que entraram, e felizmente isso sempre aconteceu.
Em geral, no final do curso, todos já estão tão imersos no assunto, que surgem discussões abstratas sobre eficiência ou qual a melhor maneira de fazer uma expressão complexa, como a do IP ou a da data.
Qualquer um que entre na sala nesse momento, ficará chocado com o “papo de louco” :)
Pra mim, é muito gratificante perceber essa enorme evolução em tão pouco tempo. Ter essa confirmação de que consegui passar esse conhecimento adiante, e que agora mais pessoas poderão usufruir dos benefícios das expressões, e quem sabe no futuro também passar isso adiante.
Quer aprender também? Veja as datas dos próximos cursos.
Convido a quem já foi aluno deixar aqui seu comentário. Gostou do curso? Aprendeu de verdade? Está usando regex no seu dia a dia? Tem alguma dica pra quem quer aprender também?
Quem não fez o curso, mas também já viu a luz dos metacaracteres, é muito bem-vind[oa] para deixar seu testemunho sobre como sua vida mudou :)