Istnieją dwa sposoby tworzenia instancji wyrażenie regularnego. Jeden sposób używa znaków ukośnika zwykłego (
/
) w celu ujęcia wyrażenia regularnego; drugie używa konstruktora
new
. Na przykład: poniższe wyrażenia regularne są równoważne:
var pattern1:RegExp = /bob/i;
var pattern2:RegExp = new RegExp("bob", "i");
Ukośniki zwykłe obejmują literał wyrażenia regularnego w taki sam sposób, w jaki cudzysłów obejmuje literał ciągu znaków. Fragment wyrażenia regularnego między zwykłymi ukośnikami definiuje
wzorzec.
Wyrażenie regularne może zawierać także
flagi
po ostatnim ukośniku obejmującym. Flagi są uwzględniane w wyrażeniu regularnym, ale są oddzielone od jego wzorca.
Podczas używania konstruktora
new
programista używa do definiowania wyrażenia regularnego dwóch ciągów znaków. Pierwszy ciąg definiuje wzorzec, a drugi ciąg definiuje flagi, co ilustruje poniższy przykład:
var pattern2:RegExp = new RegExp("bob", "i");
W wypadku umieszczenia zwykłego ukośnika
do
wyrażenia regularnego, które definiowane jest za pomocą zwykłych ukośników obejmujących, należy poprzedzić znak ukośnika zwykłego znakiem zmiany znaczenia — odwróconym ukośnikiem (
\
). Na przykład: poniższe wyrażenie regularne dopasowuje wzorzec
1/2
:
var pattern:RegExp = /1\/2/;
Aby uwzględnić cudzysłowy
w
wyrażeniu regularnym, które definiowane jest za pomocą konstruktora
new
, należy dodać znak zmiany znaczenia — odwrócony ukośnik (
\
) — przed cudzysłowem (tak, jak podczas definiowania literału String). Na przykład: poniższe wyrażenia regularne dopasowują wzorzec
eat at "joe's"
:
var pattern1:RegExp = new RegExp("eat at \"joe's\"", "");
var pattern2:RegExp = new RegExp('eat at "joe\'s"', "");
Nie należy używać znaku zmiany znaczenia — odwróconego ukośnika — z cudzysłowem w wyrażeniach regularnych, które definiowane są za pomocą zwykłych ukośników obejmujących. Podobnie nie należy używać znaku zmiany znaczenia ze znakami zwykłych ukośników w wyrażeniach regularnych zdefiniowanych za pomocą konstruktora
new
. Poniższe wyrażenia regularne są równoważne i definiują wzorzec
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"', '');
Także w wyrażeniu regularnym zdefiniowanym za pomocą konstruktora
new
, aby użyć metasekwencji, która rozpoczyna się znakiem ukośnika odwróconego (
\
) np.
\d
(który dopasowuje dowolną cyfrę), należy wpisać znak ukośnika odwróconego dwukrotnie:
var pattern:RegExp = new RegExp("\\d+", ""); // matches one or more digits
W tym przypadku znak odwróconego ukośnika należy wpisać dwukrotnie, ponieważ pierwszy parametr metody konstruktora
RegExp()
jest ciągiem znaków, a w literale ciągu znaków znak odwróconego ukośnika należy wpisać dwukrotnie w celu rozpoznania go jako pojedynczego znaku odwróconego ukośnika.
W poniższej sekcji została opisana składnia do definiowania wzorców wyrażeń regularnych.
Więcej informacji o flagach zawiera sekcja
Flagi i właściwości
.