Normal ifade örneği oluşturmanın iki yolu vardır. Birinci yolda, normal ifadeleri ayırmak için eğik çizgi karakterleri (
/
) kullanılır; ikinci yolda ise
new
yapıcısı kullanılır. Örneğin, şu normal ifadeler birbirine eşdeğerdir:
var pattern1:RegExp = /bob/i;
var pattern2:RegExp = new RegExp("bob", "i");
Tırnak işaretlerinin bir dize değişmezini ayırdığı gibi, eğik çizgiler de normal ifade değişmezini ayırır. Normal ifadenin eğik çizgi içinde kalan kısmı
deseni tanımlar.
Normal ifade, son ayırıcı eğik çizgiden sonra
bayraklar
da içerebilir. Bu bayraklar, normal ifadenin bir parçası olarak değerlendirilir ancak bunlar normal ifadenin deseninden bağımsızdır.
new
yapıcısını kullanırken, normal ifadeyi tanımlamak için iki dize kullanırsınız. Aşağıdaki örnekte gösterildiği gibi, birinci dize deseni tanımlar ve ikinci dize de bayrakları tanımlar:
var pattern2:RegExp = new RegExp("bob", "i");
Eğik çizgi ayırıcıları kullanılarak tanımlanan bir normal ifade
içine
eğik çizgi dahil ederken, eğik çizginin önüne ters eğik çizgi (
\
) kaçış karakteri getirmeniz gerekir. Örneğin, aşağıdaki normal ifade,
1/2
deseniyle eşleşir:
var pattern:RegExp = /1\/2/;
new
yapıcısıyla tanımlanan bir normal ifade
içine
tırnak işaretleri dahil etmek için, tırnak işaretlerinden önce ters eğik çizgi (
\
) kaçış karakteri eklemeniz gerekir (herhangi bir String değişmezi tanımlanırken olduğu gibi). Örneğin, aşağıdaki normal ifadeler,
eat at "joe's"
deseniyle eşleşir:
var pattern1:RegExp = new RegExp("eat at \"joe's\"", "");
var pattern2:RegExp = new RegExp('eat at "joe\'s"', "");
Eğik çizgi ayırıcıları kullanılarak tanımlanan normal ifadelerde, tırnak işaretleriyle ters eğik çizgi kaçış karakterini kullanmayın. Aynı şekilde,
new
yapıcısıyla tanımlanan normal ifadelerde de eğik çizgilerle kaçış karakterini kullanmayın. Aşağıdaki normal ifadeler eşdeğerdir ve ikisi de
1/2 "joe's"
desenini tanımlar:
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"', '');
Ayrıca,
new
yapıcısıyla tanımlanan bir normal ifadede,
\d
(herhangi bir rakamla eşleşir) gibi ters eğik çizgi (
\
) karakteriyle başlayan bir meta sırası kullanmak için, ters eğik çizgiyi iki defa yazın:
var pattern:RegExp = new RegExp("\\d+", ""); // matches one or more digits
RegExp()
yapıcı yönteminin birinci parametresi bir dize olduğundan ve dize değişmezinde tek bir ters eğik çizgi karakteri olarak tanınması için iki defa ters eğik çizgi yazmanız gerektiğinden, bu durumda ters eğik çizgi karakterini iki defa yazmanız gerekir.
İlerleyen bölümlerde, normal ifade desenlerinin tanımlanmasına yönelik sözdizimi açıklanmaktadır.
Bayraklar hakkında daha fazla bilgi almak için, bkz.
Bayraklar ve özellikler
.