Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

O que de fato é uma expressão regular?

Bom dia pessoal, no vídeo da aula não foi de fato explicado o que seria uma regex, gostaria de uma maior explicação sobre o conceito de uma expressão regular.

Desde já agradeço pelo apoio!!!

2 respostas
solução!

Sendo um pouquinho menos informal...

1) Imagine um alfabeto com somente duas letras: a,b

2) Considere uma "palavra" como a junção de uma ou mais letras de um alfabeto. Então, para o nosso alfabeto acima, algumas palavras válidas seriam aa, ab, aba, aabbaab.

3) Vamos pegar todas as palavras possíveis desse alfabeto e colocar num conjunto W: o conjunto de todas as palavras do alfabeto a,b.

Beleza. Então, sabemos o que é um alfabeto, uma palavra e o conjunto de todas as palavras de um alfabeto.

Agora, suponha que eu queira descrever todas as palavras do conjunto W que começam com a letra a. Veja que ali no passo (2) temos algumas. Percebe que uma palavra que começa com a letra a pode ter um número arbitrário de outras letras depois?

Então, para descrever esse subconjunto de W que contem todas as palavras de W que começam com a letra a, podemos escrever a seguinte expressão:

a.*

Onde:

  • a é a primeira letra da palavra
  • . significa qualquer letra
  • * significa "zero ou mais" do que está antes. Logo .* significa "zero ou mais" de qualquer letra.

Então, usando uma expressão, pudemos descrever um subconjunto de palavras de um determinado alfabeto.

Isso é uma expressão regular.

Olá pessoal, tudo bem?

Aproveitando o gancho do assunto e explicação do Felipe Torres para sugerir (caso tenha interesse em se aprofundar no assunto) o livro de um brasileiro lenda no tema regex ... Expressões Regulares - Uma abordagem divertida do Aurelio Marinho Jargas.

O livro é ótimo e esse tema já me salvou em várias ocasiões ao longo da minha carreira não só no contexto de código como em infraestrutura, Linux, etc ...

Um abraço e bons estudos.