4
respostas

Quantificador para \d {valor inicial, até infinito}

Como usar um quantificador que vai até um número indefinido para dígitos? Ex.: \d{4,*} Obrigado!

4 respostas

Fala aí Charly, tudo bem? Desculpe mas não entendi a dúvida, poderia me dar mais detalhes por favor?

Fico no aguardo.

Olá Matheus Castiglioni, Obrigado pela atenção! Gostaria de fazer, por exemplo, uma expressão que aceitaria uma valor numérico acima 3 dígitos. A execução deveria ser assim: Teste 1: 234 (no match) Teste 2: 6389 (match) Teste 3: 740488400508 (match) Obs.: tentei isso \d{4,*} mas não funcionou.

Entendi, usa essa expressão regular:

^([1–9]{1}[0–9]{0,9}[0–9][0–9])

Glossário/Explicação:

^afirma a posição no início de uma linha

1º grupo de captura ([1–9] {1} [0–9] {0,9} [0–9] [0–9])

Coincide um único caractere presente na lista abaixo [1–9] {1}

{1} Quantificador - Corresponde exatamente uma vez (quantificador sem sentido)

1–9 corresponde a um único caractere na lista 1–9 (diferencia maiúsculas de minúsculas)

Coincide com um único caractere presente na lista abaixo [0–9] {0,9}

{0,9} Quantificador - Corresponde entre 0 e 9 vezes, tantas vezes quanto possível, devolvendo conforme necessário (ganancioso)

0–9 corresponde a um único caractere na lista 0–9 (diferencia maiúsculas de minúsculas)

Coincide com um único caractere presente na lista abaixo [0–9]

0–9 corresponde a um único caractere na lista 0–9 (diferencia maiúsculas de minúsculas)

Coincide com um único caractere presente na lista abaixo [0–9]

0–9 corresponde a um único caractere na lista 0–9 (diferencia maiúsculas de minúsculas)

Fala aí Charly, tudo bem? Bom, seu chute está quase certo, apenas o detalhe do *, não precisa informá-lo:

([\d]{4,})

Apenas isso é o suficiente, ele sabe que vai ser de 4 até N.

Espero ter ajudado.