Regular Expressions etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Regular Expressions etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

10 Mayıs 2009 Pazar

Regular Expressions

Regular Expression, büyük metinlerde geçen benzer ifadeleri aramak/değiştirmek için basit bir yöntemdir. Aşagıdaki linklerden RegEx ile ilgili daha ayrıntılı bilgilere ulaşabilirsiniz.


Uzun bir String içerisindeki e-Mail adreslerini yakalamak

Bir öğrencimden mail yolu ile aşağıdaki soru geldi. Herkesin faydalanabilmesi için cevabımı buraya da yazıyorum.

Soru: Geniş bir TextBox içerisindeki metinden, içeride geçen e-mail adres stringlerini bulup depolamak gerekiyor. Nasıl yapabilirim?

Cevap: String parametre alan ve geriye List<String> döndüren bir method ile bu ihtiyacı karşılayabiliriz. Aşağıdaki method iş görecektir.

    
    public static List<string> EMailleriBul(string aramaYapilacakMetin)
        {
            List<string> adresler = new List<string>();
            MatchCollection aramaSonuclari = Regex.Matches(aramaYapilacakMetin, "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");

      
      for (int i = 0; i < aramaSonuclari.Count; i++)       
      {
                 if (!adresler.Contains(aramaSonuclari[i].Value))
                {
                    adresler.Add(aramaSonuclari[i].Value);
                }
            }

            return adresler;
        }


Kod bloğu için gerekli namespace'ler aşağıda verilmiştir.
System
System.Collections.Generic
System.Text.RegularExpressions