Love Regex

Expressões regulares

As expressões regulares foram implementadas inicialmente pelo matemático Stephen Cole Kleene com base em artigos publicados por Neurocientistas.

Pra que servem?

Substituição;

Busca;

Validação;

Como funciona?

O Regex provê uma forma de identificar conjuntos de caracteres de interesse utilizando uma escrita formal que pode ser interpretada por programas.

Em outras palavras: você informa o padrão utilizando metacaracteres e caracteres literais ao interpretador e ele vai comparar com o conjunto de caracteres inseridos. Ficará mais claro nos exemplos…

Metacaracteres:

Listinha retirada do site do Aurelio Marinho Jargas.

Representantes:

Meta	Mnemônico	Função
_______________________________________________________
. ponto um caractere qualquer
[...] lista lista de caracteres permitidos
[^...] lista negada lista de caracteres proibidos

Quantificadores:

Meta	Mnemônico	Função
_______________________________________________________
? opcional zero ou um
* asterisco zero, um ou mais
+ mais um ou mais
{n,m} chaves de n até m

Âncoras:

Meta	Mnemônico	Função
_______________________________________________________
^ circunflexo início da linha
$ cifrão fim da linha
\b borda início ou fim de palavra

Outros:

Meta	  Mnemônico	Função
_______________________________________________________
\c escape torna literal o caractere c
| ou ou um ou outro
(...) grupo delimita um grupo
\1...\9 retrovisor texto casado nos grupos 1...9

Ufa! Chega de teoria… Vamos à prática! o/

Exemplos:

A linguagem utilizada será o PHP :)

No PHP nós utilizamos funções para cada situação, e no caso irei utilizar a função preg_match() que pode receber 5 parâmetros, sendo 2 obrigatórios, mas vou utilizar apenas 3.

Parâmetros:

1 — $pattern: nossa expressão regular.

2 — $subject: a string onde iremos pesquisar a expressão.

3 — $match: array contendo as expressões que “casaram”.

Agora vamos criar um função para validar um e-mail:

function regEmail($email){
    if(preg_match(‘/^[A-z0–9._-]+@[A-z0–9.]+$/’, $email))
return $email. ‘está no formato correto!’;
else return ‘E-mail inválido!’;
 }
echo regMail(“fulano_de.tal@hotmail.com);

Like what you read? Give Samuel Freitas a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.