Esistono due modi per creare un'istanza di un'espressione regolare. Uno consiste nell'usare le barre (
/
) per delimitare l'espressione; l'altro nell'impiegare la funzione di costruzione
new
. Ad esempio, le espressioni regolari seguenti sono equivalenti:
var pattern1:RegExp = /bob/i;
var pattern2:RegExp = new RegExp("bob", "i");
Le barre delimitano il valore letterale di un'espressione regolare come le virgolette doppie delimitano il valore letterale di una stringa. La porzione di espressione regolare tra le barre definisce il
modello.
L'espressione regolare può comprendere anche dei
flag
dopo la seconda barra. Tali flag vengono considerati come parti integranti dell'espressione regolare ma distinti dal suo modello.
Per definire l'espressione regolare usando la funzione di costruzione
new
, è necessario usare due stringhe: la prima per definire il modello e la seconda per definire i flag, come illustra l'esempio seguente:
var pattern2:RegExp = new RegExp("bob", "i");
Per includere una barra
all'interno
di un'espressione regolare che usa le barre come delimitatori, è necessario anteporre alla barra il carattere escape barra rovesciata (
\
). Ad esempio, la seguente espressione regolare definisce il modello
1/2
:
var pattern:RegExp = /1\/2/;
Per includere delle virgolette doppie
all'interno
di un'espressione regolare definita mediante la funzione di costruzione
new
, è necessario aggiungere il carattere escape barra rovesciata (
\
) prima delle virgolette (come si fa per definire un valore letterale di stringa). Ad esempio, le seguenti espressioni letterali definiscono il modello
eat at "joe's"
:
var pattern1:RegExp = new RegExp("eat at \"joe's\"", "");
var pattern2:RegExp = new RegExp('eat at "joe\'s"', "");
Non utilizzate il carattere escape barra rovesciata con virgolette doppie all'interno di espressioni regolari definite usando le barre come delimitatori. Analogamente, non usate il carattere escape con barre all'interno di espressioni regolari definite mediante la funzione di costruzione
new
. Le seguenti espressioni regolari si equivalgono e definiscono il modello
1/2 "joe's"
:
var pattern1:RegExp = /1\/2 "joe's"/;
var pattern2:RegExp = new RegExp("1/2 \"joe's\"", "");
var pattern3:RegExp = new RegExp('1/2 "joe\'s"', '');
Inoltre, in un'espressione regolare che è definita con la funzione di costruzione
new
, per utilizzare una metasequenza che inizia con la barra rovesciata (
\
), ad esempio
\d
(che corrisponde a qualsiasi cifra), digitare la barra rovesciata due volte:
var pattern:RegExp = new RegExp("\\d+", ""); // matches one or more digits
In questo caso è necessario digitare la barra rovesciata due volte perché il primo parametro del metodo di costruzione
RegExp()
è una stringa e nel valore letterale di una stringa è necessario digitare una barra rovesciata due volte affinché venga riconosciuta come singolo carattere di barra rovesciata.
Le sezioni seguenti descrivono la sintassi per la definizione dei modelli delle espressioni regolari.
Per ulteriori informazioni sui flag, vedete
Flag e proprietà
.