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.

\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 .