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.