Bir önceki makalemizde C# ile Regular Expression kullanımı incelemiştik. Bu makalemizde ise kendi Regular Expression desenlerimizi oluşturabilmek amacıyla desenler içinde kullanılabilecek parametrik değerleri inceleyeceğiz.
“.” (Nokta) Karakter Parametresi
Karakter parametresi ile kontrol yapılacak veri içeriğinde kullanıldığı alanda herhangi bir karakterin olup olmadığı koşulu kontrol edilebilir.
Talep :
Girilen veri FTR ile başlasın devamında ise en az 1 karakter olsun.
Çözüm :
string Desen = @”FTR.”;
“^” Satırbaşı Parametresi
Satırbaşı
parametresi ile kontrol yapılacak verinin belirtilen karakter ile başlaması koşulu kontrol edilebilir.
Talep 1 :
Girilen verinin ilk karakteri F ile başlasın
Çözüm 1 :
string Desen = @”^F.”;
peki girilen verinin başlangıç karakteri değil de başlangıç kelimesi istenirse? Bu gibi bir talep de ise başlangıç kelimesini parantez içine almamız sorunumuzu çözecektir.
Talep 2 :
Girilen veri 2015 ile başlasın
Çözüm 2 :
string Desen = @”^(2015).”;
“$” Satırsonu Parametresi
Satırsonu
parametresi ile kontrol yapılacak verinin belirtilen karakter ile bitmesi koşulu kontrol edilebilir.
Talep 1 :
Girilen verinin son karakteri F ile bitsin
Çözüm 1 :
string Desen = @”.F$”;
Talep 2 :
Girilen veri 2015 ile bitsin
Çözüm 2 :
string Desen = @”.(2015)$”;
“?” Soru İşareti Parametresi
Soru işareti
parametresi ile kontrol yapılacak veri içeriğinde kullanıldığı alanda kendinden önceki karakterin en az birkere ya da hiç kullanılmaması koşulu kontrol edilebilir.
Talep :
Girilen erk@n verisinde @ karakteri kullanılsın yada o karakterin bulunduğu alana bir şey yazılmasın.
Çözüm :
string Desen = @”erk@?n.”;
Bu kontrol sonucunda
Erkn veya erk@n verileri koşulun true dönmesini sağlarken erkan false değer döndürür.
“+” Artı İşareti Parametresi
Artı işareti
parametresi ile kontrol yapılacak veri içeriğinde kullanıldığı alanda kendinden önceki karakterin en az birkere ya da daha fazla kullanılması koşulu kontrol edilebilir.
Talep :
Girilen erkan verisinde a karakteri en az bir yada daha fazla kullanılsın
Çözüm :
string Desen = @”erka+n.”;
Bu kontrol sonucunda
Erkan veya erkaaaaaaaaan verileri koşulun true dönmesini sağlar.
“*” Yıldız Parametresi
Yıldız
parametresi ile kontrol yapılacak veri içeriğinde kullanıldığı alanda kendinden önceki karakterin hiç ya da birden fazla kullanılması koşulu kontrol edilebilir.
Talep :
Girilen erkan verisinde a karakteri hiç ya da bir veya birden çok tekrar edebilsin
Çözüm :
string Desen = @”erka*n.”;
Bu kontrol sonucunda
Erkn , erkan veya erkaaaaaaan verileri koşulun true dönmesini sağlar.
“\d” Rakam Parametresi
Rakam parametresi ile kontrol yapılacak veri içeriğinde kullanıldığı alanda sadece rakam kullanılması koşulu kontrol edilebilir.
Talep :
Girilen veri sadece sayılardan oluşsun
Çözüm :
string Desen = @”^\d*$”;
“\D” Rakam Değil Parametresi
Rakam değil parametresi ile kontrol yapılacak veri içeriğinde kullanıldığı alanda rakam kullanılmaması koşulu kontrol edilebilir.
Talep :
Girilen veri de rakamsal veri bulunmasın
Çözüm :
string Desen = @”^\D*$”;
“\w” Alfanumerik Parametresi
Alfanumerik parametresi ile kontrol yapılacak veri içeriğinde kullanıldığı alanda sadece karakter ve sayı kullanılması koşulu kontrol edilebilir.
Talep :
Girilen veri alfanumerik mi?
Çözüm :
string Desen = @”^\w*$”;
“\W” Alfanumerik Değil Parametresi
Alfanumerik değil
parametresi ile kontrol yapılacak veri içeriğinde kullanıldığı alanda alfanumerik olmayan karakterlerin kullanılması koşulu kontrol edilebilir.
Talep :
Girilen veri alfanumerik olmasın
Çözüm :
string Desen = @”^\W*$”;
“{ }” Tekrar Sayısı Parametresi
Tekrar sayısı parametresi ile kontrol yapılacak veri içeriğinde kullanıldığı alanda kendinden önceki karakterin belirtilen sayıda tekrar etmesi koşulu kontrol edilebilir.
Talep :
Girilen erkan verisinde a karakteri 5 kez tekrar etsin
Çözüm :
string Desen = @”erka{5}n.”;
Bu kontrol sonucunda
Erkan veya erkaaan verileri koşulun false dönmesini sağlarken erkaaaaan verisi koşulun true dönmesini sağlar.
“[ ]” Dizi Parametresi
Dizi parametresi ile kontrol yapılacak veri içeriğinde kullanıldığı alanda sadece dizi içeriğindeki belirtilmiş karakterlerin kullanılabilmesi koşulu kontrol edilebilir.
Talep :
Girilen erkan verisinde k karakteri yerine sadece k-c ve ş harfleri kullanılabilsin
Çözüm :
string Desen = @”er[kcş]an.”;
Bu kontrol sonucunda
Erkan, Ercan veya Erşan verileri koşulun true dönmesini sağlar.
Bu makalemizde incelemiş olduğumuz Regular Expression parametreleri sayesinde birçok ifade dizilimini yapabiliriz. Bu dizilimler bizlere özellikle filtreleme olmak üzere filtreleme ve kontrol amaçlı yazmış olduğumuz kodlamaların daha kısa ve güvenli bir şekilde yazılmasına olanak tanımaktadır.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar