4 Nisan 2009 Cumartesi

C# da Regular Expressions - 2

Merhaba arkadaşlar;

Bir önceki yazımda
Regular Expressions ile ilgili bilmemiz gereken temel bilgileri vermiştik. Şimdi ise bunu örnek üzerinde göreceğiz.

İlk Örnek olarak bir tarih deseni oluşturalım.

Desenimiz GG/AA/YYYY formatlarındaki tarihleri kapsayacak formatta olsun...

Önce desenimizin GG kısmını yani gün kısmını tanımlayalım :

"(0?[1-9])"
// 0 dan sonra 1-9 arası değerler alabildiğini gösterir. 01,02,...09 gibi

"([12][0-9])"
// [12]ilk değer ya 1 ya da 2 olabilir. [0-9] ikinci değer ise 0-9 arasında değer alabilir...

“(3[01])”
// 30, 31 günlerini tanımlar.

// Bu üç tanımı OR (|) işlemiyle birleştirirsek gün tanımını elde etmiş oluruz.

// Elimizdeki ifade ise;
“((0?[1-9])|([12][0-9])|(3[01]))”


Şimdi desenimizin AA yani tarihin ay belirtilen kısmını tanımlayalım :

“(0?[1-9])”
// 0 dan sonra 1-9 arası değerler alabildiğini gösterir. 01,02,...09 gibi

“(1[0-2])”
// 10, 11, 12 aylarını tanımlar.

// Bu iki tanımı OR işlemiyle birleştirirsek ay tanımını elde ederiz.

// Ay Tanımı :
“((0?[1-9])|(1[0-2]))”


Şimdi desenimizin YYYY yani tarihin yıl belirtilen kısmını tanımlayalım :

“([12][0-9][0-9][0-9])”
//1000 ile 2999 yılları arasındaki tüm yılları içerir.


Ve son olarak tanımladığımız gün, ay ve yıl desenlerini “/” ile birleştirirsek :

“((0?[1-9])|([12][0-9])|(3[01]))(/)(0?[1-9]|1[0-2])(/)([12][0-9][0-9][0-9]))”

Evet arkadaşlar. tarih desenimizi tamamlamış olduk.

Bir sonraki yazımda regular expressions ifadesini fonksiyon olarak kullanımı anlatmaya çalışacağım...

Hiç yorum yok:

Yorum Gönder