Normal ifade, karakterlerin bir desenini açıklar. Normal ifadeler genellikle bir metin değerinin belirli bir desene uyduğunu doğrulamak (örn. kullanıcının girdiği telefon numarasının uygun sayıda basamak içerdiğini doğrulamak) veya metin değerinin belirli bir desenle eşleşen kısımlarını değiştirmek için kullanılır.
Normal ifadeler basit olabilir. Örneğin, belirli bir dizenin "ABC" ile eşleştiğini doğrulamak istediğinizi veya bir dizede geçen tüm "ABC" metinlerinin yerine başka bir metin getirmek istediğinizi varsayın. Bu durumda, sırayla A, B ve C harflerini içeren deseni tanımlayan şu normal ifadeyi kullanabilirsiniz:
/ABC/
Normal ifade değişmezinin eğik çizgi (
/
) karakteriyle ayrıldığını unutmayın.
Normal ifade desenleri aşağıdaki geçerli e-posta adresiyle eşleşme ifadesi gibi karmaşık ve bazen de şifreli görünebilir:
/([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}/
Normal ifadeleri en çok dizelerde desenleri aramak ve karakterleri değiştirmek için kullanırsınız. Bu durumlarda, bir normal ifade nesnesi oluşturur ve bu nesneyi birçok String sınıfı yöntemlerinden birinin parametresi olarak kullanırsınız. Aşağıdaki String sınıfı yöntemleri, parametre olarak normal ifadeleri alır:
match()
,
replace()
,
search()
ve
split()
. Bu yöntemlerle ilgili daha fazla bilgi için, bkz.
Dizelerdeki desenleri bulma ve alt dizeleri değiştirme
.
RegExp sınıfı şu yöntemleri içerir:
test()
ve
exec()
. Daha fazla bilgi için, bkz.
Dizelerle normal ifadeleri kullanma yöntemleri
.
Önemli kavramlar ve terimler
Aşağıdaki başvuru listesi bu özellikle ilgili önemli terimler içerir:
-
Kaçış karakteri
-
Ardından gelecek karakterin, değişmez karakter olarak değil, meta karakter olarak değerlendirilmesi gerektiğini belirten bir karakter. Normal ifade sözdiziminde, ters eğik çizgi (\) kaçış karakteridir, bu nedenle, ardından başka bir karakter gelen ters eğik çizgi, yalnızca bir karakter değil, özel bir koddur.
-
Bayrak
-
Normal ifade deseninin nasıl kullanılması gerektiği hakkında bazı seçenekleri (örn. büyük harfli ve küçük harfli karakterler arasında ayrım yapılıp yapılmayacağı) tanımlayan bir karakter.
-
Meta karakter
-
Desende harfi harfine karakteri temsil etmeyip normal ifade deseninde özel bir anlam içeren bir karakter.
-
Nicelik belirteci
-
Bir desen bölümünün kaç defa yinelenmesi gerektiğini belirten bir karakter (veya birkaç karakter). Örneğin, ABD posta kodunun beş veya dokuz sayı içermesi gerektiğini belirtmek için bir nicelik belirteci kullanılır.
-
Normal ifade
-
Diğer dizelerin bir karakter deseniyle eşleştiğini doğrulamak veya dizenin belirli bölümlerini değiştirmek için kullanılabilecek ilgili karakter desenini tanımlayan bir program deyimi.