En basit normal ifade, aşağıdaki örnekte olduğu gibi, bir karakterler sırasıyla eşleşen ifadedir:
var pattern:RegExp = /hello/;
Ancak meta karakterler olarak bilinen şu karakterler, normal ifadelerde özel anlam içerir:
^ $ \ . * + ? ( ) [ ] { } |
Örneğin, aşağıdaki normal ifade, sırayla A harfi, ardından B harfinin sıfır veya birkaç örneği (yıldız meta karakteri bu yinelemeyi belirtir) ve sonra da C harfi gelen bir desenle eşleşir:
/AB*C/
Bir normal ifade desenine, özel anlamı olmadan bir meta karakter dahil etmek için, ters eğik çizgi (
\
) kaçış karakterini kullanmanız gerekir. Örneğin, aşağıdaki normal ifade, sırayla A harfi, B harfi, yıldız işareti ve C harfini içeren bir desenle eşleşir:
var pattern:RegExp = /AB\*C/;
Meta sıra
da meta karakter gibi, normal ifadede özel anlam içerir. Meta sıra bir veya daha çok karakterden oluşur. İlerleyen bölümlerde, meta karakterlerin ve meta sıraların kullanılmasıyla ilgili ayrıntılar sağlanmaktadır.
Meta karakterler hakkında
Aşağıdaki tabloda, normal ifadelerde kullanabildiğiniz meta karakterler özetlenmektedir:
Meta karakter
|
Açıklama
|
^
(şapka)
|
Dizenin başında eşleşir.
m
(
multiline
) bayrağı ayarlanmış durumdayken, şapka karakteri satırın başlangıcıyla da eşleştirilir (bkz.
Bayraklar ve özellikler
). Karakter sınıfının başında kullanıldığında, şapka karakterinin dize başlangıcını değil, değilleme belirttiğini unutmayın. Daha fazla bilgi için, bkz.
Karakter sınıfları
.
|
$
(dolar işareti)
|
Dizenin sonunda eşleşir.
m
(
multiline
) bayrağı ayarlıyken,
$
işareti, yeni satır (
\n
) karakterinden önceki konumla da eşleşir. Daha fazla bilgi için bkz.
Bayraklar ve özellikler
.
|
\
(ters eğik çizgi)
|
Özel karakterlerin meta karakter anlamından kaçınılmasını sağlar.
Ayrıca, normal ifade değişmezinde eğik çizgi kullanmak istiyorsanız ters eğik çizgi karakterini kullanın, örn.
/1\/2/
(sırayla 1 karakteri, eğik çizgi karakteri ve 2 karakterinden oluşan bir desenle eşleşmek için).
|
.
(nokta)
|
Herhangi bir tek karakterle eşleşir.
Nokta yalnızca
s
(
dotall
) bayrağı ayarlandığında yeni satır karakteriyle (
\n
) eşleşir. Daha fazla bilgi için, bkz.
Bayraklar ve özellikler
.
|
*
(yıldız)
|
Sıfır veya birkaç kere yinelenen önceki öğeyle eşleşir.
Daha fazla bilgi için bkz.
Nicelik belirteçleri
.
|
+
(artı)
|
Bir veya birkaç kere yinelenen önceki öğeyle eşleşir.
Daha fazla bilgi için bkz.
Nicelik belirteçleri
.
|
?
(soru işareti)
|
Sıfır veya bir kere yinelenen önceki öğeyle eşleşir.
Daha fazla bilgi için bkz.
Nicelik belirteçleri
.
|
(
ve
)
|
Normal ifade içindeki grupları tanımlar. Şunlar için grupları kullanın:
-
| değiştiricisinin kapsamını sınırlamak için:
/(a|b|c)d/
-
Nicelik belirtecinin kapsamını tanımlamak için:
/(walla.){1,2}/
-
Geribaşvurularda. Örneğin, aşağıdaki normal ifadede bulunan
\1
öğesi, desenin birinci parantez grubunda eşleşen her şeyle eşleşir:
-
/(\w*) is repeated: \1/
Daha fazla bilgi için bkz.
Gruplar
.
|
[
ve
]
|
Tek bir karakter için olası eşleşmeleri tanımlayacak şekilde bir karakter sınıfını tanımlar:
/[aeiou]/
, belirtilen karakterlerden herhangi biriyle eşleşir.
Karakter sınıfları içinde, karakterlerin aralığını belirlemek için kısa çizgi (
-
) kullanın:
/[A-Z0-9]/
, büyük harfli A - Z veya 0 - 9 ile eşleşir.
Karakter sınıfları içinde, ] ve - karakterlerinin özel anlamından kaçınmak için
ters eğik çizgi ekleyin.
/[+\-]\d+/
, bir veya daha çok rakamdan önce gelen
+
ya da
-
öğesiyle eşleşir.
Karakter sınıfları için, normalde meta karakter olan diğer karakterler, ters eğik çizgiye gerek kalmadan normal karakterler (meta karakter olmayan) olarak değerlendirilir:
/[$]/
£,
$
veya
£
öğesiyle eşleşir.
Daha fazla bilgi için bkz.
Karakter sınıfları
.
|
|
(çubuk)
|
Sol taraftaki bölümle veya sağ taraftaki bölümle eşleşmek üzere değişim için kullanılır:
/abc|xyz/
,
abc
veya
xyz
öğesiyle eşleşir.
|
Meta sıralar hakkında
Meta sıralar, normal bir ifade deseninde özel anlam içeren karakterler sırasıdır. Aşağıdaki tabloda, bu meta sıralar açıklanmaktadır:
Meta sıra
|
Açıklama
|
{
n
}
{
n
,}
ve
{
n
,
n
}
|
Önceki öğe için sayısal nicelik belirtecini veya nicelik belirteci aralığını belirtir:
/A{27}/
,
27
kere yinelenen
A
karakteriyle eşleşir.
/A{3,}/
, en az
3
kere yinelenen
A
karakteriyle eşleşir.
/A{3,5}/
,
3
ile
5
defa yinelenen
A
karakteriyle eşleşir.
Daha fazla bilgi için bkz.
Nicelik belirteçleri
.
|
\b
|
Sözcük karakteri ile sözcük olmayan bir karakter arasındaki konumla eşleşir. Dizedeki birinci ve sonuncu karakter bir sözcükse, ayrıca dizenin başıyla veya sonuyla da eşleşir.
|
\B
|
İki sözcük karakteri arasındaki konumda eşleşir. Ayrıca sözcük olmayan iki karakter arasındaki konumla da eşleşir.
|
\d
|
Ondalık bir basamakla eşleşir.
|
\D
|
Rakam dışında bir karakterle eşleşir.
|
\f
|
Sonraki sayfaya geçme karakteriyle eşleşir.
|
\n
|
Yeni satır karakteriyle eşleşir.
|
\r
|
Döndürme karakteriyle eşleşir.
|
\s
|
Herhangi bir boşluk karakteriyle (boşluk, sekme, yeni satır veya döndürme karakteri) eşleşir.
|
\S
|
Boşluk karakteri dışındaki herhangi bir karakterle eşleşir.
|
\t
|
Sekme karakteriyle eşleşir.
|
\u
nnnn
|
nnnn
onaltılık sayısıyla karakter kodu belirtilmiş Unicode karakteriyle eşleşir. Örneğin,
\u263a
, gülen yüz karakteridir.
|
\v
|
Dikey besleme karakteriyle eşleşir.
|
\w
|
Bir sözcük karakteriyle (
AZ
–,
az
–,
0-9
veya
_
) eşleşir.
\w
öğesinin,
é
,
ñ
veya
ç
gibi İngilizce olmayan karakterlerle eşleşmediğini unutmayın.
|
\W
|
Sözcük karakteri dışında herhangi bir karakterle eşleşir.
|
\\x
nn
|
nn
onaltılık sayısıyla tanımlandığı şekilde ASCII değeri belirtilmiş karakterle eşleşir.
|
|
|
|