RSS

>Regular Expressions in .Net Framework

10 Mar

>Herkese merhabalar;


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🙂

 
Leave a comment

Posted by on March 10, 2010 in .Net, C#

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: