Vai al contenuto
eLearner.app
Modulo 3 · Lezione 1 di 49/32 nel corso~8 min
Lezioni del modulo (1/4)

Inizio e fine: `^` e `$`

Le ancore sono asserzioni a larghezza zero: matchano una posizione nella stringa, non un carattere. Le due piu' basilari sono ^ (inizio stringa) e $ (fine stringa).

Code
Pattern: ^Errore
Sample:  Errore: connessione persa
         ^^^^^^

Pattern: \.$
Sample:  Frase finale.
                     ^

^Errore matcha la parola Errore solo se e' all'inizio assoluto del sample. \.$ matcha un punto solo se e' l'ultimo carattere del sample. Ne piu' ne meno.

Validazione completa

L'idioma piu' comune e' usare entrambe insieme: ^pattern$ matcha solo se la stringa intera corrisponde a pattern. E' la base della validazione:

Code
^\d{4}$    una stringa di esattamente 4 cifre, niente prima, niente dopo

Validazione strutturata con inizio e fine

Ancorare un pattern con ^ e $ è fondamentale per scopi di validazione. Senza ancore, la regex \\d{5} troverà una corrispondenza in abc1234567def, mentre con ^\\d{5}$ la stringa verrà rifiutata poiché l'intero testo deve essere composto solo da 5 cifre.

Prova tu

Esercizio#regex.m3.l1.e1
Tentativi: 0Caricamento…

Matcha la stringa intera SOLO se contiene esattamente 4 cifre, niente prima e niente dopo.

Caricamento editor…
Mostra suggerimento

Senza ancore, \\d{4} accetterebbe anche '2024abc' o '12345' (prime 4 cifre).

Soluzione disponibile dopo 3 tentativi

Esercizio di ripasso

Esercizio#regex.m3.l1.e2
Tentativi: 0Caricamento…

Trova il punto finale della frase, ma SOLO se e' l'ultimo carattere del sample.

Caricamento editor…
Mostra suggerimento

\\.$ ancora il punto a fine stringa. Senza $ matchersti il primo punto trovato.

Soluzione disponibile dopo 3 tentativi

Sfida aggiuntiva

Esercizio#regex.m3.l1.e3
Tentativi: 0Caricamento…

Crea un pattern che matcha solo se l'intera stringa di input è composta esclusivamente da una o più cifre (nessun altro carattere all'inizio o alla fine).

Caricamento editor…
Mostra suggerimento

Metti ^ all'inizio e $ alla fine del pattern \d+.

Soluzione disponibile dopo 3 tentativi