sexta-feira, 4 de outubro de 2013

Como utilizar Expressão Regular (RegEX)

Entenda de uma vez por todas a como utilizar da maneira correta a tão complexa expressão regular (regex) de maneira simples e descomplicada.

O que é expressão regular?


Expressão regular é um meio de buscar conjuntos de caracteres dado uma certo misto de caracteres. Basicamente é uma ferramenta que permite buscar, com uma incrível precisão, uma informação em algum lugar.

De maneira mais simples ainda; é um recurso para turbinar muito a busca por dado um texto

Onde usar expressões regulares


Expressão regular pode ser usado em quase tudo em informática, muitas linguagens de programação tem esse recurso atrelado a elas devido a sua funcionalidade. Não me arrisco dizer todas as funcionalidades das expressões regulares, porém segue uma lista das mais usadas:

  • Validação de e-mail

  • Validação de número de telefone

  • Garantir que um texto será inserido corretamente

  • Filtrar palavras

  • Localizar e substituir textos

O que atualmente usa expressões regulares?


Muitos dispositivos, sistemas operacionais e linguagens de programação utilizam expressões regulares, entre todos podemos destacar os seguintes, que já vem com esse recurso nativo:

  • Linux (nativo)

  • MacOS (nativo)

  • Dispositivos Cisco

  • PHP

  • Ruby

  • Pearl

É claro que você pode baixar algum software ou alguma biblioteca para combinar a sua programação ou sistema operacional para usufruir da expressão regular

Como usar expressões regulares


Para utilizar uma expressão regular são necessárias duas coisas:

  • Algo que interprete a expressão regular

  • Caracteres para serem consultados pela expressão regular

Exemplos de expressão regular

Como já mencionado anteriormente, uma expressão regular irá realizar uma busca em algum texto baseando-se na expressão utilizada, por exemplo:

Expressão: ra

Texto:Cadeiras, casas, café, carambola, Castelo, palavras cruzadas, Rapaz

Repare que apenas os caracteres que corresponderam exatamente à expressão ficaram em negrito, ou seja, ra minúsculo.

Outro exemplo:

Expressão: [a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})
(não se assuste ainda)

Texto:
ragazzi.d@ragazzid.com.br
d@ragazzid.com.br
d_abcd@ragazzid.com.br
d2@ragazzid

Explicação:
A expressão verifica se o carácter começa com uma letra (necessariamente minúscula) de a até z e ainda verifica se é um número e também valida se a segunda parte, após esse conjunto de caracteres possui um ponto, um underline ou um hífen e após isso se possui um arroba seguido por conjuntos de caracteres, ponto e pelo menos duas letras depois do ponto. Essa é a validação simples de e-mail

Entendendo uma Expressão Regular


Como o nome já diz, dada uma expressão, podendo essa ser simples ou não, será feita uma busca pelo que foi solicitado em um determinado texto; entendendo um pouco:

Exemplos


Expressão:
a

Texto:
Texto criado para um post no blog.ragazzid.com.br

Valor(es) encontrado(s):
Texto criado para um post no blog.ragazzid.com.br
Repare que apenas a letra "a" foi realçada, pois esse seria o valor encontrado na busca

Expressão (intervalo de "a" até "z" minúsculo):
[a-z]

Texto:
Texto criado para um post no blog.ragazzid.com.br

Valor(es) encontrado(s):
Texto criado para um post no blog.ragazzid.com.brRepare que cada letra minúscula encontrada foi realçada, a cor diferente foi utilizada para mostrar que cada resultado é diferente, pois na expressão foi informado para encontrar apenas algo que estivesse no intervalo de "a-z"



Expressão:
[a-zA-Z]+

Texto:
Texto criado para um post no blog.ragazzid.com.br

Valor(es) encontrado(s):
Texto criado para um post no blog.ragazzid.com.br
Repare que todas as letras foram realçadas, pois agora colocamos todo intervalo de letras! de a-z e de A-Z (mesmo parecendo tudo confuso e junto, é assim que a expressão vai entender).

Maiores informações


Lembrando que esse é só o exemplo do que a expressão regular faz, o seu programa vai usa-lá para procurar algum valor dado um texto, o que ele faz com ela, se encontrar ou não, é controlado por você:

- Encontrei palavão  => Texto não enviado, por favor não use palavras que insultam as pessoas
- Formato de e-mail incorreto => Texto não enviado, por favor verifique se seu e-mail está correto
- Valor inserido não é um número => O campo telefone deve conter apenas números
- Encontrar em dado um texto algo parecido com www.letrasenumeros.com.br e transformar em um link

Para saber mais sobre expressão regular, acesse:

http://estudo.ragazzid.com.br/regex
http://pt.wikipedia.org/wiki/Expressão_regular

Nenhum comentário:

Postar um comentário