você está aqui: Home  → Coluna do Cesar Brod

De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Verde em Expressões Regulares

Por Cesar Brod

Data de Publicação: 01 de Março de 2013

Em 1999 eu e o Fábio Wiebbelling (o popular Wiebbellindo) participamos da Linux World Conference and Expo em San Jose, na Califórnia. Nossa missão era coletar informações suficientes para provarmos para a Univates que não estávamos enlouquecendo em propor o desenvolvimento de um novo sistema administrativo e acadêmico totalmente baseado em software livre. O professor Eloni Salvi, então pró-reitor administrativo e financeiro da instituição, nos deu uma verba destinada à compra de livros que não só ajudassem em nosso embasamento, como também pudessem ser disponibilizados na biblioteca.

Na época, o provedor Univates/B&WNet já rodava em Linux. O pessoal que administrava o provedor contava com scripts que facilitavam a sua vida na inserção de novos usuários, bloqueios de conta de inadimplentes, criação de aliases de emails e vários outros. Estes scripts eram criados, em sua grande maioria, por mim e pelo Fábio, todos baseados em pedaços prontos que catávamos por aí, mas em especial da revista Linux Journal. Os temerários scripts - misturando shell, awk e sed - interferiam diretamente no ambiente de produção, em arquivos como o /etc/passwd, /etc/shadow e /etc/sendmail.cf (muitos anos mais tarde foi que começamos a usar o m4). Aos entendedores, isto equivale dizer que fuçávamos muito com Expressões Regulares.

Por isso, com a mesada do Eloni, compramos vários livros. O do sendmail com o morcego na capa, o dos lêmures sed & awk e o "Mastering Regular Expressions", apropriadamente, com duas corujas na capa. Algum engraçadinho desenhou setinhas na capa, apontando os nomes Cesar e Fábio para as corujas. Não vou dizer qual era qual (uma ilustração da capa está aí embaixo), mas eu acho que o artista foi o Luciano Klein.

Nossa equipe cresceu com o tempo, os livros passavam mais tempo em nosso CPD do que na biblioteca. Não raro alguém começava a olhar aqueles livros com bichos estranhos nas capas e nos perguntavam: O que é sed? O que é awq? O que é sendmail? -- e, nossa pergunta preferida! -- O que são expressões regulares?

Os que já sabiam a resposta ficavam quietos, com um sorriso contido nos lábios, esperando a resposta do Fábio: "Expressões regulares são aquelas que não são tão boas, são aquelas expressões, assim, meio meia-boca..."

A verdade, porém, é que as Expressões Regulares são ótimas e já salvaram a vida de muita gente! E também é verdade que é muito difícil explicar o que elas são. Tem muita gente que as usa, entende muito bem como elas funcionam e, ainda assim, não sabe explicar o que elas são. E a explicação sem a prática, por melhor que seja, também não ajuda muito. Por tudo isso o Aurelio Marinho Jargas é o mestre Yoda! Recebi, há poucos dias, minha cópia do livro "Expressões Regulares - uma abordagem divertida". No site do livro dá pra baixar os primeiros capítulos e lá também tem informações sobre como comprá-lo. E não tem jeito: se você ler os primeiros capítulos você vai comprar o livro e deixá-lo na cabeceira de sua cama.

Não tem página do livro que não seja divertida. Você esquece que está lendo um livro sobre um assunto espinhoso a partir do perfeito prefácio, escrito pelo amigo Franklin Carvalho, até a página 213 onde começam as tabelas e índices. E, mesmo assim, quem leu todo o livro ainda é capaz de rir, ao ver na tabela de metacaracteres, que a expressão (?:ER) é um "grupo fantasma, retrovisor não conta", ou encontrar outros metacaracteres gulosos ou não-gulosos.

Sem dúvida alguma, o livro do Aurelio (também conhecido como Verde), junto com o site que o completa, é a melhor referência sobre Expressões Regulares já escrita até hoje.

Aurelio pra Academia Brasileira de Letras!

Sobre o autor

Cesar Brod usa Linux desde antes do kernel atingir a versão 1.0. Dissemina o uso (e usa) métodos ágeis antes deles ganharem esse nome. Ainda assim, não está extinto! Escritor, consultor, pai e avô, tem como seu princípio fundamental a liberdade ampla, total e irrestrita, em especial a do conhecimento.

Mais sobre o Cesar Brod: [ Linkedin ] | [ Twitter ] | [ Tumblr ].

Veja a relação completa dos artigos de Cesar Brod