Caratteri, metacaratteri e metasequenze
Flash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive
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.
|
\unnnn
|
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.
|
\\xnn
|
Corrisponde al carattere con il valore ASCII specificato, come specificato mediante il numero esadecimale nn.
|