L'espressione regolare più semplice è quella che corrisponde a una sequenza di caratteri, come nell'esempio seguente:
var pattern:RegExp = /hello/;
Tuttavia, ci sono dei caratteri speciali, definiti metacaratteri
,
che hanno un significato speciale all'interno delle espressioni regolari:
^ $ \ . * + ? ( ) [ ] { } |
L'espressione regolare dell'esempio seguente corrisponde alla lettera A seguita da zero o più istanze della lettera B (il metacarattere asterisco indica la ripetizione), seguita dalla lettera C:
/AB*C/
Per utilizzare un metacarattere in un'espressione regolare svuotandolo del suo significato speciale, è sufficiente farlo precedere dal carattere escape barra rovesciata (
\
). L'espressione regolare dell'esempio seguente corrisponde alla lettera A, seguita dalla lettera B, seguita da un asterisco, seguita dalla lettera C:
var pattern:RegExp = /AB\*C/;
Una
metasequenza,
proprio come un metacarattere, ha un significato speciale in un'espressione regolare. Una metasequenza comprende più caratteri. La sezione seguente fornisce dettagli sull'uso dei metacaratteri e delle metasequenze.
Informazioni sui metacaratteri
La tabella seguente contiene i metacaratteri che si possono usare nelle espressioni regolari:
Metacarattere
|
Descrizione
|
^
(accento circonflesso)
|
Corrisponde all'inizio della stringa. Se si imposta anche il flag
m
(
multiline
), l'accento circonflesso corrisponde anche all'inizio di una riga (vedete la sezione
Flag e proprietà
). Notate che quando viene usato all'inizio di una classe di caratteri, l'accento circonflesso indica la negazione, non l'inizio di una stringa. Per ulteriori informazioni, vedete
Classi di caratteri
.
|
$
(simbolo del dollaro)
|
Corrisponde alla fine della stringa. Se si imposta anche il flag
m
(
multiline
),
$
cerca la corrispondenza anche prima di un carattere nuova riga (
\n
). Per ulteriori informazioni, vedete
Flag e proprietà
.
|
\
(barra rovesciata)
|
Sospende il significato speciale dei metacaratteri.
Anteponete la barra rovesciata anche se volete inserire la barra nel valore letterale di un'espressione regolare, come in
/1\/2/
(l'espressione cerca il carattere 1, seguito dal carattere barra seguito dal carattere 2).
|
.
(punto)
|
Corrisponde a un carattere qualunque.
Il punto corrisponde a un carattere nuova riga (
\n
) solo se è presente il flag
s
(
dotall
). Per ulteriori informazioni, vedete
Flag e proprietà
.
|
*
(asterisco)
|
Corrisponde a una ripetizione di zero o più volte del carattere precedente.
Per ulteriori informazioni, vedete
Quantificatori
.
|
+
(più)
|
Corrisponde a una ripetizione di una o più volte del carattere precedente.
Per ulteriori informazioni, vedete
Quantificatori
.
|
?
(punto interrogativo)
|
Corrisponde a una ripetizione di zero o una volta del carattere precedente.
Per ulteriori informazioni, vedete
Quantificatori
.
|
(
e
)
|
Definisce un raggruppamento all'interno dell'espressione regolare. Usate i gruppi per:
-
Limitare l'area di azione del carattere di alternanza:
/(a|b|c)d/
-
Definire l'area di azione di un quantificatore:
/(walla.){1,2}/
-
Eseguire riferimenti a posteriori. Ad esempio, nell'espressione regolare seguente,
\1
corrisponde ai valori individuati dal primo gruppo parentetico del modello:
-
/(\w*) è ripetuto: \1/
Per ulteriori informazioni, vedete
Gruppi
.
|
[
e
]
|
Definisce una classe di caratteri, che a sua volta definisce possibili corrispondenze di un unico carattere:
/[aeiou]/
corrisponde a qualsiasi dei caratteri specificati.
Usate il trattino (
-
) all'interno delle classi di caratteri per definire un intervallo di caratteri:
/[A-Z0-9]/
corrisponde ai caratteri maiuscoli da A a Z o da 0 a 9.
All'interno delle classi di caratteri, inserite una barra rovesciata per proteggere il valore letterale dei caratteri ] e
- caratteri:
/[+\-]\d+/
corrisponde al segno
+
o
-
prima di uno o più caratteri.
All'interno delle classi di caratteri, i cosiddetti metacaratteri vengono considerati caratteri normali senza il bisogno di anteporre la barra rovesciata:
/[$]/
£ corrisponde a
$
o a
£.
Per ulteriori informazioni, vedete
Classi di caratteri
.
|
|
(pipe)
|
Indica due possibilità alternative: può eseguire la ricerca del valore alla sua sinistra o alla sua destra:
/abc|xyz/
corrisponde a
abc
o a
xyz
.
|
Informazioni sulle metasequenze
Le metasequenze sono sequenze di caratteri con un significato speciale all'interno delle espressioni regolari. Le metasequenze sono descritte nella tabella seguente:
Metasequenza
|
Descrizione
|
{
n
}
{
n
,}
e
{
n
,
n
}
|
Specifica una quantità numerica o un intervallo di numeri per l'elemento precedente:
/A{27}/
corrisponde al carattere
A
ripetuto
27
volte.
/A{3,}/
corrisponde al carattere
A
ripetuto
3
o più volte.
/A{3,5}/
corrisponde al carattere
A
ripetuto da
3
a
5
volte.
Per ulteriori informazioni, vedete
Quantificatori
.
|
\b
|
Corrisponde a elementi tra un carattere di parola e un carattere non di parola. Se il primo o l'ultimo carattere di una stringa è un carattere di parola, corrisponde anche all'inizio o alla fine della stringa.
|
\B
|
Corrisponde a elementi tra due caratteri di parola. Corrisponde anche a elementi tra due caratteri non di parola.
|
\d
|
Corrisponde a una cifra decimale.
|
\D
|
Corrisponde a qualsiasi carattere diverso da una cifra.
|
\f
|
Corrisponde al carattere di avanzamento pagina.
|
\n
|
Corrisponde al carattere nuova riga.
|
\r
|
Corrisponde al carattere ritorno a capo.
|
\s
|
Corrisponde a qualsiasi carattere spazio bianco (spazio, tabulazione, nuova riga o ritorno a capo).
|
\S
|
Corrisponde a qualsiasi carattere diverso da spazio bianco.
|
\t
|
Corrisponde al carattere tabulazione.
|
\u
nnnn
|
Corrisponde al carattere Unicode con il codice di carattere specificato mediante il numero esadecimale
nnnn
. Ad esempio,
\u263a
corrisponde al carattere smiley.
|
\v
|
Corrisponde al carattere di avanzamento verticale.
|
\w
|
Corrisponde a un carattere di parola (
AZ
–,
az
–,
0-9
, o
_
). Notate che
\w
non corrisponde a caratteri che non appartengono all'alfabeto inglese, ad esempio
é
,
ñ
o
ç
.
|
\W
|
Corrisponde a qualsiasi carattere diverso da un carattere di parola.
|
\\x
nn
|
Corrisponde al carattere con il valore ASCII specificato, come specificato mediante il numero esadecimale
nn
.
|
|
|
|