Düzenli ifadeler, string tipte olan karakterlere uygulanan bir çeşit metin düzenleme dilidir. Bu dil birçok programlama dilinin içinde rahatlıkla kullanılabilir. C#'ta genellikle form doğrulama işlemlerinde, email veya domain name doğrulama işlemlerinde kullanılır.
Düzenli İfadeler'de Kullanılan Karakterler
1-) "." Karakteri : 1 karakteri ifade eder. "mturker.ultepe" ifadesinde "." yerine herhangi bir karakter gelebilir. mturkergultepe, mturkercultepe gibi...
2-) "?" Karakteri: Kendinden önceki harfi veya rakamı ya siler yada ifadede hiçbir değişiklik yapmaz. "mturker?gultepe" ifadesi mturkegultepe veya mturkergultepe döndürür.
3-) "\" Karakteri: Kendinden sonraki harfi veya rakamı ifadeye dahil eder.Bu karakter genel kaçış karakteri olarak ta bilinir. "mturkergultepe\?" ifadesi mturkergultepe? şeklinde bize çıktı verir. Burada "\" kullanmasaydık mturkergultep veya mturkergultepe döndürecekti.
4-) "*" Karakteri: Kendinden önceki karakterin hiç olmamasını veya istenildiği sayıda olmasını sağlar. "mturkergultepe*" ifadesi; mturkergultep, mturkergultepe,mturkergultepee,... gibi stringler döndürecektir.Bunu bir string öbeğine de kullanabiliriz: "mturker(gultepe)*" bize; mturker, mturkergultepe, mturkergultepegultepe... gibi ifadeleri getirir.
5-) "[]" Karakteri: Bir aralığı temsil eder. "mturker[cpg]ultepe" ifadesi mturkercultepe, mturkerpultepe, mturkergultepe şeklinde çıkar. Bu köşeli parantezlerin içine rakam da yazabiliriz. Örneğin; mturker[0-9]gultepe dediğimiz anda 0-9 arası bütün rakamlar "r-g" arasına ayrı ayrı yazılacaktır.
6-) "{}" Karakteri: Programlama dillerinde en sık kullanılan ifadelerden olan süslü parantez burada tekrarlama işlemleri için kullanılır. Örnek verecek olursak; "mt{3}urkergultepe" bize mttturkergultepe ifadesini döndürür.
7-) "$" Karakteri: Satır bitimini ifade etmek için kullanılan ifadedir. "mturkergultepe$" yazılınca, satır sonunda mturkergultepe ifadesi varsa bunu bize döndürür.
8-) "^" Karakteri: Satır bitimi işareti varsa satır başı işareti de mutlaka vardır :) Bu karakter satır başını ifade eder."^mturkergultepe" ifadesi satır başında eğer "mturkergultepe" varsa bunu döndürür.
EN ÇOK KULLANILAN DÜZENLİ İFADELERDEN BAZILARI
*Tarih Kontrolü (GGAAAYY,GGAAAYYYY,GGAAAYY çalıştırır.(12HAZ09,12HAZ2009,12HAZ))
^(d{0}(31(?!(SUB|NIS|HAZ|EYL|KAS)))((3029)(?!SUB))(29(?=SUB(((1[6-9][2-9]\d)(0[48][2468][048][13579][26])((16[2468][048][3579][26])00)))))(29(?=SUB(((0[48][2468][048][13579][26])((16[2468][048][3579][26])00)))))(0?[1-9])1\d2[0-8])(OCA|SUB|MAR|MAY|NIS|TEM|HAZ|AGU|EYL|EKI|KAS|ARA)((1[6-9][2-9]\d)\d{2}\d{2}d{0})$
*Mail Adresi Kontrolü(abc@gmail.com, turkuaz@hot.com, gibi değerleri döndürür. acaba.com,www.abe.co, abz@ gibi değerleri kabul etmez ):
^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}[0-9]{1,3})(\]?)$
*Url ve Domain kontrolü ( http://www.ahmetalisuzen.com/index.html, www.ahmetalisuzen.com ahmetalisuzen.com gibi değerleri çalıştırır):
((\s|\n|^)(\w+://[^\s\n]+))
Renkli çalışmalar...
Mustafa Türker Gültepe
www.mturkergultepe.com