Expressões Regulares: Introdução e História

Introdução

Fala pessoal! Depois de muito tempo offline, sem escrever absolutamente nada sobre desenvolvimento resolvi reativar meu blog para partilhar conhecimentos e me forçar a estudar também.

Nesta série de artigos, iremos estudar juntos sobre Expressões Regulares, sua história, conceitos e implementações dela, no mundo real.

Vamos, encarar esse monstro?

Bambam tirando sua camisa no treino


Comecei a folhear o livro Expressões Regulares: Uma Abordagem Divertida do Aurélio Jarbas, uma das grandes referências brasileiras no assunto.

O livro, está na sua quinta edição e você pode adquiri-lo no site da NOVATEC. Existe também a versão digital que é comercializada na Amazon.

O intuito dessa série de artigos e estudar as etapas que compreendem uma expressão regular. Servira como um guia de estudos e fonte de consulta posterior também.

Posteriormente irei fazer um review do livro.

Uma breve história

As expressões regulares são uma forma concisa de identificar cadeias de caracteres, palavras ou padrões de texto. Por exemplo: buscar todos os telefones que contenham o DDD (31).

Elas são escritas em uma linguagem formal que pode ser interpretada por processadores de ER’s, um programa que serve um gerador de analisador sintático ou examina o texto e identifica as partes que casam com a especificação dada.

Alguns, desses programas são distribuídos livremente na internet, como:

O termo deriva do trabalho do matemático norte-americano Stephen Cole Kleene, que desenvolveu as expressões regulares como uma notação ao que ele chamava de álgebra de conjuntos regulares ou também conhecida como álgebra de Kleene.

Kleene foi notório em sua área de atuação, considerado e reconhecido juntamente com Alan Turing e Emil Post e outros como o fundador de uma ramificação da lógica matemática, chamada de teoria da computabilidade. Esse trabalho fundamentou o estudo que as funções são computáveis.

Vários conceitos matemáticos têm seu nome, como: hierarquia de Kleene, álgebra de Kleene, fecho de Klenne e teorema da recursão de Klenne.

As ER’s servem para uma infinidade de propósitos, vai depender muito do contexto em que iremos utilizá-la. Em um editor de texto, como o Word, por exemplo, podemos utilizar uma ER para substituir determinado termo dentro de um texto.

Imagine a praticidade de fazer isso em um tcc ou dissertação de mestrado de forma assertiva e simples.

Outra abordagem seria na validação de um número de cartão de crédito, ou até mesmo validar um e-mail e telefone.

Abaixo, cito alguns exemplos que ela pode ser utilizada:

  • corresponder a qualquer endereço de IP em um intervalo;
  • corresponder a qualquer endereço de e-mail de um domínio específico;
  • corresponder somente a frase exata;
  • corresponder a palavra com grafias diferentes ou caracteres especiais;
  • corresponder a um formato alfanumérico;
  • corresponder a um número de telefone;

Exemplo de expressão regular

Corresponde somente a frase exata:

(\W|^)tesouro\direto(\W|$)

CEP formatado com expressões regulares

\d{5}-\d{3}

Curiosidades

As ER’s estão em praticamente em todos os lugares, linguagens de programação, editores de texto, banco de dados, planilhas e muito mais, abaixo, listo alguns meios em que se pode usar:

PlanilhasAplicativosBanco de dadosLinguagensEditores
Google DocsGrepMySQLAwkEmacs
OpenOfficeApache HTTPdPostgreSQLJavascriptVIM
 NginxOraclePHPWord
  SQLitePythonOpenOffice
   SedNotepad++
   TclVisualCode
   VBScriptSublime Text
   C 
   Java 
   Ruby 
   ActionScript 
   PHP PCRE 
   Shell Script 
   HTML5 
   Lua 
   .NET (VB, C#) 
   Powershell 

Conclusão

As expressões regulares são um recurso extremamente poderoso, dominando elas podemos resolver problemas do cotidiano de forma simples. Tem conhecimento do seu funcionamento é de suma importância para ser um bom desenvolvedor.

Venha nessa jornada rumo as Expressões Regulares!

Comentários