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 zero ou uma vez

Este quantificador significa, com efeito, "Torne o elemento anterior opcional." Digamos que desejamos verificar a validade de um número de telefone e consideramos um número de telefone válido se corresponder a um destes dois formulários:

(nnn) nnn-nnnn nn nn nn-nnnn

Onde "n”É um numeral. Podemos construir uma expressão regular como esta:

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

Nesta expressão, seguimos os caracteres entre parênteses com pontos de interrogação para indicar que eles devem ser correspondidos zero ou uma vez. Novamente, uma vez que os parênteses são normalmente


metacaracteres (em ERE), nós os precedemos com barras invertidas para fazer com que sejam tratados como literais.

Vamos tentar:



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

\)? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

(555) 123-4567

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

? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

+555 123 4567-XNUMX

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

? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

[me @ linuxbox ~] $

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

\)? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

(555) 123-4567

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

? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

+555 123 4567-XNUMX

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

? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

[me @ linuxbox ~] $


Aqui, vemos que a expressão corresponde a ambas as formas do número de telefone, mas não corresponde a um que contenha caracteres não numéricos.


Top OS Cloud Computing na OnWorks: