29/07/2010

Expressões regulares no MySQL

A Expressão regular é uma poderosa ferramenta de busca de padrões.
Desenvolvida por nerdes que nunca tranzaram na vida, é terrivelmente confusa, e vai dar um no nos seus neurônios logo de cara!

Entretanto vale a pena o sacrifício, pois os resultados são incríveis!
Embora o RealBasic já trabalhe com as expressões regulares, é muito útil (e poupa muito codigo) deixar que o MySQL as execute. Verá que é possível fazer filtragens até absurdas.
Algo como isolar todos os e-mails de um único provedor e que comesse com "ana" ficaria mais ou menos assim:


>... WHERE Campo REGEXP "ana.+\@globo\.[a-z]{3}"

E a melhor parte:

- Se você usa o LIKE nas suas consultas, pode substitui-lo por RLIKE e abolir o por-cento (%), com a vantagem de poder usar as sintaxe regulares para ampliar suas filtragens de consultas.

Não irei mais a fundo por que outros já o fizeram por mim e merecem todo o credito. Entretanto se quiser ir e se aventurar, a Wikipedia é um bom começo para entender as expressões regulares ou, vá especificamente ao MySQL se preferir.

Temos também o Livro Expressões Regulares - Guia de Consulta Rápida disponível inteiramente grátis na nete. por Aurélio Marinho Jargas. (ou compre o livro se preferir)
Até a aproxima!