Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

{} - Corresponde a um elemento um número específico de vezes

O { e } metacaracteres são usados ​​para expressar os números mínimo e máximo de correspondências necessárias. Eles podem ser especificados de quatro maneiras possíveis:


Tabela 19-3: Especificando o número de correspondências


Significado do especificador

Significado do especificador

{n} Corresponde ao elemento anterior se ocorrer exatamente n vezes.


imagem

{n,m} Corresponde ao elemento anterior se ocorrer pelo menos n vezes, mas não mais que m vezes.


imagem

{n,} Corresponde ao elemento anterior, se ocorrer n ou mais vezes.


imagem

{,m} Corresponde ao elemento anterior se ocorrer não mais do que m vezes.


imagem


Voltando ao nosso exemplo anterior com os números de telefone, podemos usar este método de especificação de repetições para simplificar nossa expressão regular original de:


^\(?[0-9][0-9][0-9]\)? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$

para:

^\(?[0-9]{3}\)? [0-9]{3}-[0-9]{4}$

Vamos tentar:



[me @ linuxbox ~] $ echo "(555) 123-4567" | grep -E '^ \ (? [0-9] {3} \)? [0- 9] {3} - [0-9] {4} $ '

(555) 123-4567

[me @ linuxbox ~] $ echo "555 123-4567" | grep -E '^ \ (? [0-9] {3} \)? [0-9]

{3} - [0-9] {4} $ '

+555 123 4567-XNUMX

[me @ linuxbox ~] $ echo "5555 123-4567" | grep -E '^ \ (? [0-9] {3} \)? [0-9

] {3} - [0-9] {4} $ '

[me @ linuxbox ~] $

[me @ linuxbox ~] $ echo "(555) 123-4567" | grep -E '^ \ (? [0-9] {3} \)? [0- 9] {3} - [0-9] {4} $ '

(555) 123-4567

[me @ linuxbox ~] $ echo "555 123-4567" | grep -E '^ \ (? [0-9] {3} \)? [0-9]

{3} - [0-9] {4} $ '

+555 123 4567-XNUMX

[me @ linuxbox ~] $ echo "5555 123-4567" | grep -E '^ \ (? [0-9] {3} \)? [0-9

] {3} - [0-9] {4} $ '

[me @ linuxbox ~] $


Como podemos ver, nossa expressão revisada pode validar números com e sem os parênteses, rejeitando os números que não estão formatados corretamente.


Top OS Cloud Computing na OnWorks: