consistono in un valido strumento per manipolare, cercare, verificare le stringhe
Le espressioni regolari sono schemi (o pattern) che descrivono sinteticamente un insieme di stringhe utilizzando specifici caratteri speciali detti metacaratteri
sintassi
=/espressione regolare/parametri va racchiusa tra due /
=new RegExp("espressione regolare","parametri") si usa il comando RegExp per creare una espressione regolare
parametri
- g → indica un abbinamento globale, veranno abbinate tutte le istanze del foglio che corrispondono a regolare, non solo la prima
- i → indica di non distinguere tra maiuscole e minuscole
- m → indica multilinea il comando che inizia per ^ e finisce per $
metacaratteri
- ciascun carattere e ciascun numero rappresenta se stesso
individuazione
- . → indica un qualsiasi carattere singolo
esempio: t.st.
individua una qualsiasi sequenza di quattro caratteri che inizia con t e termina con st
tast, test, tist, t1st, etc ...
- ? → indica la presenza di zero o una quanità del carattere precedente (0 o 1)
esempio: t?est
individua le stringhe est e test
- \d → indica una cifra da 0 a 9 (opposto di \D)
esempio: \d\d\d
abbina 423 ma non 04 (solo/almeno 3 cifre)
- \D → indica qualsiasi carattere escluso le cifre (opposto di \d)
esempio: \D
abbina % r ma non 3
- \w → indica ogni carattere di usato nelle parole (A-Z, a-z, 0-9, _) opposto di \W
esempio: \w\w
abbina A2 3_ ma non d$ o () (che sono caratteri non usati per fare una parola)
- \W → indica ogni carattere non usato nelle parole (opposto di \w)
esempio: \W
non abbina 5 _ a
- \s → indica ogni carattere che crea uno spazio (spazio, tab, nuova riga, ecc...) opposto di \S
esempio: \s
abbina tab \n ma non .
- \S → indica ogni carattere non di spazio (opposto di \s)
esempio: \S\s
abbina % spazio ma non %_
- [] → indica un qualsiasi singolo carattere contenuto all'interno delle parentesi quadre.
esempio: t[ea]st
individua le stringhe test tast
- [^] → indica un qualsiasi singolo carattere tranne quelli contenuti all'interno delle parentesi quadre.
esempio: t[^iu]st
individua le stringhe di tre caratteri che iniziano con t e terminano con st tranne tist tust
- [c1-c2] → indica un intervallo di caratteri compresi tra c1 e c2
esempio:
[r-t]est individua le stringhe rest sest test
[a-zA-z] individua tutte le lettere sia minuscole che maiuscole.
- [^c1-c2] → indica un qualsiasi singolo carattere tranne quelli compresi tra c1 e c2.
esempio:
t[^a-c]st individua tutte le stringhe di tre caratteri che iniziano con t e terminano con st tranne tast tbst tcst
ripetizione
- * → indica la presenza di zero o più quanità del carattere indicato prima
esempio:
t*est individua tutte le sequenze di caratteri che iniziano con zero o più quantità di t e terminano con est
est test ttest tttest etc...
- + → indica la presenza di una o più quanità del carattere indicato prima (simile a * ma parte da uno , senza lo zero)
esempio:
t+est individua le sequenze di caratteri che iniziano con una o più quantità di t e terminano con est (test, ttest, tttest etc...)
\d{3} abbina 223 ma non 04
- {n} → indica la presenza di n quantità del carattere che lo precede.
esempio:
te{2}st individua la stringa teest
- {n,} → abbina l'elemento precedente n o più volte
esempio:
\w{2,} abbina ac, a4cr, a_4 ma non 4 o d4gsz%
- {n, m} → indica la presenza di almeno n ed al massimo m quantità del carattere che lo precede.
esempio:
te{2, 4}st individua le stringhe teest, teeest e teeeest
\d{3,5} abbina 223, 3566 ma non 04 o 692159
posizioni
- ^ → indica l'inizio di una linea.
esempio:
^test individua l'insieme delle stringhe test che si trovano all'inizio di una linea in un testo
^\d abbina 2 (o una qualsiasi cifra), ma solo se ad inizio riga
- $ → indica la fine di una linea.
esempio:
test$ individua l'insieme delle stringhe test che si trovano alla fine di una linea in un testo
\w$ abbina a ma solo se a fine riga
- \b → abbina un limite di parola (inizio o fine parola)
- \b... → caratteri all'inizio della parola
- ...\b → caratteri alla fine della parola
- \b...\b → parola singola
esempio:
a\b abbina a ma solo se si trova alla fine di una parola
\bparola\b abbina solo una parola
- \B → abbina una posizione che non é un limite di parola (opposto di \b)
esempio:
\Ba\B abbina a ma solo se si trova in mezzo ad una parola, non agli estremi
operatori
- ( ) → consente di raggruppare sottoespressioni a cui applicare metacaratteri
esempio:
(te)+st individua tutte le stringhe che iniziano con una o più quantità di te e terminano con st (test tetest tetetest etc...)
- | → indica l'alternativa tra due o più caratteri o espressioni (operatore or).
esempio:
t(es|oas|u)t individua le stringhe test toast tut
- \ → indica che il carattere seguente deve essere trattato come un normale carattere e non come un metacarattere (carettere escape)
esempio:
te\*st individua la stringa te*st
caratteri codificati
- \u.... → inserisce un carattere Unicode
esempio: carattere "a"
\u0061
- \x.. → inserisce un carattere in Esadecimale
esempio: codice fiscale
[a-zA-Z]{6}[0-9]{2}[a-zA-Z][0-9]{2}[a-zA-Z][0-9]{3}[a-zA-Z]