Regular Expression, veriler içinde, istediğinize göre belirleyebileceğimiz kompleks
sözdizimine sahip ifadeleri bulmak için kullanılan bir tekniktir. Bu teknik bir
string içinde başka bir string bulmamıza ve istersek değiştirmemize yarar.
Program hazırlarken çok geniş yelpazede kullanım kolaylıkları sunan regular expressionlar
genelde bir verinin girilmesini belirli kriterlere göre zorlamak içinde kulanılır.
Örneğin telefon numarası, eposta gibi. Bu tip verilerin bir standartı vardır. Eğer
kullanıcıyı bu tip verileri girerken standarta yönelik zorlamaz istiyorsak regex
kullanmak kolay bir çözüm olacaktır.
Regex'te sözdizimi oluşturmak için kullanabileceğimiz birkaç yöntem vardır:
1. Karakter Uyuşması: Belirlediğimz karakterlerin string içinde aramamıza
yarar.
Örnek: dogma
2. Tekrarlanma Uyuşması: Regular Expression'ın derinleme araştırma yaparak
gücünü gösterdiği bölümdür.
Örneğin dogm ve dogma çıktısını istiyoruz. Bunun için başka bir özel karakter kullanmalıyız:
"Soru İşareti" -> dogma?
3. Pozisyon Uyuşması: Aranılan ifadenin string içindeki yerini de belirlememizi
sağlar. İfadenin, string içinde en başta olmasını istiyorsak başına ^ koymamız gerekir.
Örnek: ^dogma Burada, string dogma ile başlıyorsa sonuç başarılıdır.
Regular Expression’larda Kullanılan Özel Karakterler ve Etkileri Regular expression
desenleri tanımlamada kullanılan özel karakterleri örnekleri ile anlatırsak sanırım
regular expressionlar daha tanıdı ve kolay gelebilir.
Özel Karakterler
1.) "." Karakteri: Tek bir karakteri temsil eder(yeni satır karakteri hariç).
“Lok.edir” şeklindeki bir desen Loknan, LokNan, LokSan, Lok3an gibi stringleri döndürebilir.
2.) "[]" Karakterleri: Bir arrayi yada aralığı temsil eder. “Lok[SNY]an”
deseni, LokSan, LokNan ve LokYan stringlerini döndürür. “Lok[a-z]an” şeklindeki
kullanım aralık belirtmeye yarar. “Lok[0-9]an” şeklindeki kullanım ise sayısal aralık
belirtmeye yarar.
3.) "?" Karakteri: Kendinden önceki karakterin stringte olması yada olmamasını
sağlar. “Lokm?an” deseni Lokan yada Lokman döndürür.
4.) "\" Karakteri: Kendinden sonraki özel karakterin stringe dahil edilmesini
sağlar. “Loknan\?” deseni Loknan? Stringini döndürür. (Eğer “\” karakterini kullanmamış
olsaydık Loknedi yada Loknan dönerdi.)
5.) "*" Karakteri: Kendinden önceki karakterin yada stringin hiç olmaması
yada istediği sayıda olmasını sağlar. “Lokman*” deseni, Lokmanedi, Lokman, Lokmanr,
Loknanrr, ... döndürür. “Lok(man)*” deseni ise Lok, Lokman, Lokmanman, ... döndürür.
6.) "{}" Karakterleri: Kendinden önce gelen karakterin belirtilen sayıda
tekrar etmesini sağlar. “L{4}okman” deseni, LLLLokman stringini döndürür.
7.) "^" Karakteri: Satır başını ifade eder. “^Lokman” deseni, satır başında
“Lokman” stringi varsa bunu döndürür.
8.) "$" Karakteri: Satır sonunu ifade eder. “Loknan$” deseni, satır sonunda
“Loknan” stringi varsa bunu döndürür.
Yararlanılan Kaynaklar: mydesign.gen.tr - csharpnedir.com