Sayfayı Yazdır | Pencereyi Kapat

c# Regex kullanımı

Nereden Yazdırıldığı: Datakent
Kategori: Diğer bölümler
Forum Adı: C# & ASP.NET
Forum Tanımlaması: C# ve ASP.NET ile ilgili soru / sorun ve paylaşım bölümü
URL: http://forum.datakent.com/forum_posts.asp?TID=2311
Tarih: 23.Nisan.2024 Saat 10:22


Konu: c# Regex kullanımı
Mesajı Yazan: aziz.alkurt
Konu: c# Regex kullanımı
Mesaj Tarihi: 15.Subat.2012 Saat 23:15
1. Örnek (.?) nedir // Not:her harf olabilir
----------------------------------------------------------------------------------------------------------------------
            string word = "asasdaazizsfasdfsdfdfd";
            Regex rx = new Regex("az(.?)z", RegexOptions.IgnoreCase);
            foreach (Match m in rx.Matches(word))
            {
                       //m.Value="aziz" olur
                       //m.Index=6 olur
            }
----------------------------------------------------------------------------------------------------------------------
Burada istenen şu dur. ilk harf 'a' ikinci harf 'z' 3. harf herşey olabilir 4. harf 'z' olacak

2. Örnek (.*?) nedir //  Not:'*' istenen harf peşpeşe gelebilir
----------------------------------------------------------------------------------------------------------------------
            string word = "asasdaaziertyzsfasdfsdfdfd";
            Regex rx = new Regex("az(.*?)z", RegexOptions.IgnoreCase);
            foreach (Match m in rx.Matches(word))
            {
                       //m.Value="aziertyz" olur
                       //m.Index=6 olur
                       //m.Length=8 olur
            }
----------------------------------------------------------------------------------------------------------------------
Burada istenen şu dur. ilk harf 'a' ikinci harf 'z' 3. harf ve sonrası herşey olabilir. Son harf 'z' olacak

3. Örnek (.*i) nedir //  Not:'*' istenen harf ( 'i' ) peşpeşe gelebilir.
----------------------------------------------------------------------------------------------------------------------
            string word = "asasdaaziiiiiiiiiizsfasdfsdfdfd";
            Regex rx = new Regex("az(.*i)z", RegexOptions.IgnoreCase);
            foreach (Match m in rx.Matches(word))
            {
                       //m.Value="aziiiiiiiiiiz" olur
                       //m.Index=6 olur
                       //m.Length=13 olur
            }
----------------------------------------------------------------------------------------------------------------------
Burada istenen şu dur. ilk harf 'a' ikinci harf 'z' 3. harf  'i' olacak ve sonrası 'i' olabilir. Son harf 'z' olacak

4. Örnek (.*(i|x|y|k)) ifadesi nedir //  Not:'*' istenen harf ( 'i' veya 'x' veya 'y' veya 'k') peşpeşe gelebilir.
----------------------------------------------------------------------------------------------------------------------
            string word = "asasdaaziiixiyikkiiizsfasdfsdfdfd";
            Regex rx = new Regex("az(.*(i|x|y|k))z", RegexOptions.IgnoreCase);
            foreach (Match m in rx.Matches(word))
            {
                       //m.Value="aziiixiyikkiiiz" olur
                       //m.Index=6 olur
                       //m.Length=15 olur
            }
----------------------------------------------------------------------------------------------------------------------
Burada istenen şu dur. ilk harf 'a' ikinci harf 'z' 3. harf  'i' veya 'x' veya 'y' veya 'k' olacak ve sonrası 'i' veya 'x' veya 'y' veya 'k' olabilir. Son harf 'z' olacak

5. Örnek   [0-9] gibi [0-9A-F] gibi ifadeler nedir      //harfin hangi aralıkta olacağını ifade eder (ASCII koda göre index aralığı)
----------------------------------------------------------------------------------------------------------------------
           string word = "sxpFxhg";
            Regex rx = new Regex("[0-9A-F]", RegexOptions.IgnoreCase);
            foreach (Match m in rx.Matches(word))
            {
                       //m.Value="F" olur
                       //m.Index=3 olur
                       //m.Length=1 olur
            }
Burada istenen kelime içerisindeki 0-9 aralığında ve (0 ve 9 da olabilir tabiki) veya A-F aralığında olan harfi getir.

6. Örnek özel harf içeren aramalar nasıl yapılır.
'\','{','}','(',')','*',... gibi harfler regex için özel karakterlerdir. Bunun için bu harfler içeren kelime ararken bu karakterin başına '\' harfi koymak gerekir.
----------------------------------------------------------------------------------------------------------------------
            string word = "asasasasz*zasasasas";
            Regex rx = new Regex("z\\*z", RegexOptions.IgnoreCase);
            foreach (Match m in rx.Matches(word))
            {
                       //m.Value="z*z" olur
                       //m.Index=8 olur
                       //m.Length=3 olur
            }
----------------------------------------------------------------------------------------------------------------------
Buradaki arama amacı birinci harf'z', ikinci harf '*',üçüncü harf 'z' olan kelimeleri getir.

Regex özellikleri saymakla bitmez. Bu örnekleri birleştirerek ve iç içe kullanarak güzel ve dinamik aramalar yapma dileğiyle



Sayfayı Yazdır | Pencereyi Kapat