Een reguliere-expressie-instantie kan op twee manieren worden gemaakt. Bij de eerste manier worden slash-tekens (
/
) gebruikt om de reguliere expressie af te bakenen; bij de andere manier wordt de constructor
new
gebruikt. De volgende twee reguliere expressies zijn bijvoorbeeld gelijk:
var pattern1:RegExp = /bob/i;
var pattern2:RegExp = new RegExp("bob", "i");
Slash-tekens bakenen een reguliere expressie op dezelfde manier af als aanhalingstekens een tekenreeks letterlijk afbakenen. Het deel van de reguliere expressie binnen de slashes definieert het
patroon.
De reguliere expressie kan tevens
markeringen
na de afsluitende afbakeningsslash bevatten. Deze markeringen worden beschouwd als deel van de reguliere expressie, maar staan los van het patroon ervan.
Wanneer u de constructor
new
gebruikt, definieert u de reguliere expressie met behulp van twee tekenreeksen. De eerste tekenreeks definieert het patroon, de tweede tekenreeks definieert de markeringen, zoals in het volgende voorbeeld:
var pattern2:RegExp = new RegExp("bob", "i");
Wanneer er zich een slash
in
een reguliere expressie bevindt die is gedefinieerd met behulp van de slash-afbakeningstekens, laat u de slash voorafgaan door het escape-teken, de backslash (
\
). De volgende reguliere expressie komt bijvoorbeeld overeen met het patroon
1/2
:
var pattern:RegExp = /1\/2/;
Om aanhalingstekens
binnen
een reguliere expressie op te nemen die is gedefinieerd met de constructor
new
, moet u een backslash (
\
) als escape-teken toevoegen vóór de aanhalingstekens (zoals u zou doen bij het letterlijk definiëren van een willekeurige tekenreeks). De volgende reguliere expressies komen bijvoorbeeld overeen met het patroon
eat at "joe's"
:
var pattern1:RegExp = new RegExp("eat at \"joe's\"", "");
var pattern2:RegExp = new RegExp('eat at "joe\'s"', "");
Gebruik de backslash niet als escape-teken met aanhalingstekens in reguliere expressies die zijn gedefinieerd door middel van de slash-afbakeningstekens. Gebruik het escape-teken met slashes evenmin in reguliere expressies die gedefinieerd zijn met de constructor
new
. De volgende reguliere expressies zijn gelijk en definiëren het patroon
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"', '');
Wanneer u in een reguliere expressie die is gedefinieerd met de constructor
new
een metareeks wilt gebruiken die met een backslash (
\
) begint, zoals
\d
(wat staat voor elk willekeurig cijfer), typt u de backslash twee keer:
var pattern:RegExp = new RegExp("\\d+", ""); // matches one or more digits
U moet het backslash-teken in dit geval twee keer typen. De eerste parameter van de constructormethode
RegExp()
is namelijk een tekenreeks, en in een letterlijke tekenreeks moet een backslash-teken twee keer worden getypt om als enkel backslash-teken te worden herkend.
In de volgende secties wordt de syntaxis voor het definiëren van reguliere-expressiepatronen beschreven.
Zie
Markeringen en eigenschappen
voor meer informatie over markeringen.