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

Expressões ganancionas - Aula 5 [1]

Não entendi o comportamento do ? juntamente com um quantifier. Na aula tem exemplos mas não entendi a lógica entre eles, alguém poderia me explicar por favor?

5 respostas

Olá, Kelvym.

O ? é um meta caracter da regex que significa que um grupo, caracter ou conjunto que estiver antes dele é opcional. Por exemplo, se estivermos fazer um validação de uma campo que pode receber um número de telefone fixo ou de celular, deixaremos nossa regex assim: 9?[0-9]{4}-[0-9]{}4

O interrogação que colocamos depois do primeiro 9 diz que ele é opcional.

Desculpa a demora pra responder, mas...

Eu entendi sua explicação, porém não estou conseguindo entender o porque ocorro os seguintes comportamentos apontados na aula:

alvo: <h1 class="text-left">Expressões regulares</h1>

Expressão: <h1.+?> Resultado: <h1 class="text-left">


Expressão: <h1.{1,10}? Resultado: Apenas 1 caracter sendo selecionado(além do <h1)

Isso está bem confuso pra mim.

solução!

Olá. Agora minha vez de pedir desculpa pela demora.

O a primeira expressão <h1.+?> irá pegar qualquer h1 seguido de qualquer conteúdo que tenha ao menos um caracter mas isso pode ser opcional e tem que finalizar com o sinal de maio >.

A segunda expressão <h1.{1, 10}? irá pegar a tag h1 que tiver qualquer caracter dentro dela entre 1 e 10 caracteres, lembrando que isso é opcional.

Espero que ajude :-)

Hmm, acho que entendi agora. To fazendo alguns testes tendo em mente o que você explicou e está fazendo mais sentido pra mim.

Vlw, obrigado!

Por nada Kelvym. Tento mais dúvidas só postar aí :-)