Caratteri, metacaratteri e metasequenze

L'espressione regolare più semplice è quella che cerca 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 cerca la 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 cerca la 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.

Sezioni

Informazioni sui metacaratteri
Informazioni sulle 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 (vedere Flag m (multiline)). Si noti 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, vedere 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, vedere Flag m (multiline).

\ (barra rovesciata)

Sospende il significato speciale dei metacaratteri.
Anteporre la barra rovesciata anche se si vuole 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, vedere Flag s (dotall).

* (asterisco)

Corrisponde a una ripetizione di zero o più volte del carattere precedente.

Per ulteriori informazioni, vedere Quantificatori.

+ (più)

Corrisponde a una ripetizione di una o più volte del carattere precedente.

Per ulteriori informazioni, vedere Quantificatori.

? (punto di domanda)

Corrisponde a una ripetizione di zero o una volta del carattere precedente.

Per ulteriori informazioni, vedere Quantificatori.

( e )

Definiscono un raggruppamento all'interno dell'espressione regolare. Usare i gruppi per:

  • Limitare l'area di validità del carattere di alternanza |: /(a|b|c)d/
  • Definire l'area di validità 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*) is repeated: \1/

Per ulteriori informazioni, vedere Gruppi.

[ e ]

Definiscono una classe di caratteri, che a sua volta definisce possibili corrispondenze di un unico carattere:

/[aeiou]/ corrisponde a qualsiasi dei caratteri specificati.

Usare 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, inserire una barra rovesciata per proteggere il valore letterale dei caratteri ] e
-:

/[+\-]\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, vedere 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, vedere 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 (A-Z, a-z, 0-9, o _). Si noti che \w non corrisponde a caratteri che non appartengono all'alfabeto inglese come é, ñ 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.


Flash CS3

 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/main/00000114.html