Logo DrCode Logo DrCode

Blog

Blog / JS/Jquery / Expressões Regulares – Começando com REGEX

Expressões Regulares – Começando com REGEX

Expressões Regulares

Praticamente todas a linguagens possuem um interpretador de REGEX. Expressões regulares são um conjunto de caracteres que este interpretador consegue ler e fazer um match quando algo bate com o que foi passado.

Se você é programador a algum tempo, certamente se deparou com uma. São aqueles códigos como este:
regex = /^([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/

Você deve estar se perguntando: “Que diabos são essas letras/números e como ela é interpretada?” A resposta é: Calma, vamos chegar lá.

Expressões regulares simples

Vamos primeiro entender algo simples.

No exemplo acima, nós conseguimos dar match com o que foi passado na $regex com o $texto informado. Neste caso está óbvio, pois a $regex é idêntica ao $texto.

Expressões regulares com duas opções

Agora vamos imaginar que eu queria dar match em duas opções. Corro de burro quando foge, e Fujo de burro quando foge. Desta forma teremos a seguinte expressão:

Neste exemplo utilizamos os parenteses para que possamos utilizar mais de uma combinação. O operador | serve para que possamos dizer: De match com isto, ou isto. (Mais abaixo vou deixar uma tabela com os operadores que mais iremos usar no dia a dia)

De maneira alguma indico que você comece tentando fazer er complexas. Comece pelo simples.

Primeiro vamos conhecer os carácteres que utilizamos nas ERs.

Carácteres Representantes

. Um carácter qualquer
[…] Lista de carácteres permitidos
[^…] Lista de carácteres não permitidos
(…) Grupo de caracteres

Carácteres quantificadores

Usados para determinar a quantidade de carácteres que serão validados.

? Zero ou um
* Zero, um ou mais
+ Um ou mais
{n,m} De n até m

Âncora

^ Início da linha
$ Final da linha
\b Início ou fim de uma palavra

Para validarmos por exemplo um número de telefone no formato (00) 0000-0000 ou (00) 00000-0000 podemos fazer da seguinte forma:

/\([0-9]{2}\) [0-9]{4,5}\-[0-9]{4}/

Esta expressão regular irá dar match com (11) 98787-8787 ou também com (11) 4747-4747.

Entendendo a Expressão Regular

o carácter “\” (barra invertida) serve como um “escape” como os () são utilizados como forma de agrupamento, temos que dizer que neste caso em especifico eles são caracteres comuns, e devem ser considerados.

Após dizermos que temos “(” para dar match, informamos que o que vem em seguida é uma sequencia de número de 0-9. Seguindo dizemos que são no máximo 2 caracteres. Ou seja, uma sequencia de 2 caracteres que sejam de 0-9.

Por fim, dizemos que fechamos o parenteses “)”. Sempre lembrando do escape \.

Após isso vemos que temos um espaço, que corresponde ao espaço entre o DDD e o restante do número. Este espaço não está ai a toa, ele também é considerado pela nossa regex.

Logo em seguida, temos mais uma combinação de números, só que desta forma podemos ter uma sequencia de 4 dígitos, ou de 5 dígitos. Por isso usamos desta forma {4,5}.

Depois utilizamos mais uma vez o escape para o “-” (traço) e por fim validamos a ultima sequencia de números.

Existem sites que testam as expressões regulares para gente. Um deles é o Regex Tester

Expressões regulares não são um bicho de 7 cabeças como parecem ser. Elas são muito simples depois que você entende o que cada coisa faz. Além do mais, quando você aprende a domina-las verá que o mundo é muito mais fácil com elas. Expressões regulares economizam (muito) o monte de IFs que teríamos que fazer para validar algo, por exemplo.

Tags: expressão regular expressões regulares regex regular expression validar email validar telefone
Felipe Mello
Comentários