Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

{ } - Abbina un elemento un numero specifico di volte

. { e } I metacaratteri vengono utilizzati per esprimere il numero minimo e massimo di corrispondenze richieste. Possono essere specificati in quattro modi possibili:


Tabella 19-3: Specifica del numero di corrispondenze


Specificatore Significato

Specificatore Significato

{n} Corrisponde all'elemento precedente se si verifica esattamente n volte.


Immagine

{n,m} Corrisponde all'elemento precedente se si verifica almeno n volte, ma non più di m volte.


Immagine

{n,} Corrisponde all'elemento precedente se si verifica n o più volte.


Immagine

{,m} Corrisponde all'elemento precedente se non si verifica più di m volte.


Immagine


Tornando al nostro esempio precedente con i numeri di telefono, possiamo usare questo metodo di specifica delle ripetizioni per semplificare la nostra espressione regolare originale da:


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

di:

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

Proviamolo:



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

(555) 123-4567

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

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

555 123-4567

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

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

[io@linuxbox~]$

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

(555) 123-4567

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

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

555 123-4567

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

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

[io@linuxbox~]$


Come possiamo vedere, la nostra espressione rivista può convalidare correttamente i numeri sia con che senza parentesi, rifiutando al contempo i numeri che non sono formattati correttamente.


Il miglior sistema operativo cloud computing su OnWorks: