Regular expressions(düzenli ifadeler) bize textlerimizi üzerinde esnek ve güçlü kontroller yaratmamızı sağlıyor.Tasarladığımız desenler,string kullanan,dışardan veri alan uygulamalar için çok değerli bir tool olacaktır.Regex sınıfını kullanmak için önce kodumuza
System.Text.RegularExpressions
isim uzayını eklememiz gerekiyor.Kullanıma bir örnek şöyle;
34 public static bool checkExpression(string sentence)
35 {
36 string expression = "MyExpression";
37 Regex regex = new Regex(expression);
38 return regex.IsMatch(sentence);
39 }
Şimdi regular expression yazarken kullanacağımız karakterlere göz atalım.
"." karakteri :
Bu karakter kesinlike bir karakter yerine geçer.Örneğin;
İfademiz "a.b" olsun.Bu ifade textimizde solunda "a" ve sağında "b" olan 1 karakter arar.Yani textimiz "acb" olsaydı true döndürecekti."acnb" olsaydı false döndürcekti.
"$" karakteri :
Bu karakter textin sonunu ifade eder.Örneğin;
İfademiz "abc$" olsun.Bu ifade textimiz eğer "....abc" ile biterse true döndürür.
"^" karakteri :
Bu karakter textin başını ifade eder.Örneğin;
İfademiz "^abc" olsun.Bu ifade textimiz eğer "abc..." ile başlıyorsa true döndürür.
"*" karakteri :
Bu karakter bir önceki karakterden 0 ya da sonsuz tane gelebilir der.Örneğin;
İfademiz "zbc*" olsun.Bu ifade textimizde "zb" "zbc" "zbcccc" ifadesi varsa true döndürür.
"[]" karakteri :
Bu karakter bir liste içinden 1 tanesini seçer.Örneğin;
İfademiz "x[cv]b" olarak kullanılırsa textimizde "xvb" ya da "xcb" varsa true döndürür.
Eğer [a1-a2] olarak kullanılırsa. Mesela a[0-9]b olarak kullanılırsa textimizde "a0b"varsa true döndürür.Ancak "a09b" yi false döndürür.
Eğer [^a1-a2] olarak kullanılırsa.Mesela [^38a-z] olarak kullanılıtsa textimiz 3 ve 8 ile başlayamaz ama küçük harfle devam etmelidir.Textimiz "3t" ya da "8g" olsaydı false döndürecekti.
"()" karakteri :
Bu karakter ifadeleri gruplamakta kullanılır.Yukardaki ifadeleri gruplayarak kombinasyonlar elde etmemizi sağlar.Örneğin;
İfademiz "[0-9](ab)*" olsun.Textimiz şöyle olabilir."5" "5ab" "5ababab".
"|" karakteri :
Bu karakter bildiğimiz gibi "or" işareti.Örnek;
İfademiz "[Öyle | Böyle] de farketmez" olsun.Textimiz "Öyle de farketmez" ya da "Böyle de farketmez" olabilir.
"+" karakteri :
Bu karakter solundaki ifadeden 1 ya da daha fazla var demektir.Örneğin;
İfademiz [0-9](ab)+ olsun.Textimiz şöyle olabilir."5ab" "5ababab".
"?" karakteri :
Bu karakter bir karakteri ya da bir texti ifade edebilir.Solundaki karakterden ya da textten olabilir de olmayabilir de demektir.Örneğin;
İfademiz "C(ab)?D" olsun.Textimiz şöyle olabilir."CD" ya da "CabD".
"{}" karakteri :
Bu karakter kendisinden önceki ifadenin kaç kere kullanılabileceğini gösterir.Örneğin;
İfademiz A[0-9]{3} olsun.Textimiz "A056" ya da "A692" olabilir.Ya da ifademiz ba{3,4} olsun.Textimiz "baaa" ya da "baaaa" olabilir.
Hekese kolay gelsin :)
Hiç yorum yok:
Yorum Gönder