Visual C# ve normal ifadeleri kullanarak deseni eşleştirme

Bu adım adım makalede, dizelerin belirli desenlerle eşleşip eşleşmediğini belirlemek için normal ifadelerin nasıl oluşturulacağı ve kullanılacağı anlatılır.

Orijinal ürün sürümü: Visual C#
Özgün KB numarası: 308252

Özet

Normal ifadeler, dizelerin kolayca ayrıştırılıp belirli bir desenle eşleştirilmesine olanak sağlar. Ad alanında bulunan nesneleri kullanarak, bir dizeyi RegularExpressions belirli bir desenle karşılaştırabilir, dize desenini başka bir dizeyle değiştirebilir veya biçimlendirilmiş bir dizenin yalnızca bölümlerini alabilirsiniz. Bu örnekte, bir e-posta adresini doğrulamak için bir desen oluşturacağız. Bu makale, Microsoft .NET Framework Sınıf Kitaplığı ad alanını System.Text.RegularExpressionsifade eder.

Gereksinimler

Bu makalede, aşağıdaki konular hakkında bilgi sahibi olduğunuz varsayılır:

  • Visual C#
  • Normal ifade söz dizimi

Desenle eşleştirmek için normal ifadeler kullanma

  1. Visual C# öğesini başlatın.

  2. Yeni bir Visual C# Konsol Uygulaması oluşturun.

  3. Kodunuzda daha sonra bu ad alanları içindeki Text.RegularExpressions bildirimleri nitelemeniz gerekmeyecek şekilde ad alanında using anahtar sözcüğünü belirtin. using deyimi, diğer bildirimlerden önce kullanılmalıdır:

    using System.Text.RegularExpressions;
    
  4. E-posta adresini doğrulamak için desen eşleşmesi kullanacak yeni bir normal ifade tanımlayın. Aşağıdaki normal ifade üç şeyi gerçekleştirecek şekilde yapılandırılmıştır:

    1. Simgeden önceki alt dizeyi yakalayın @ ve bunu user gruba yerleştirin.
    2. Simgeden sonraki alt dizeyi yakalayın @ ve bunu host gruba yerleştirin.
    3. Dizenin ilk yarısında simge @ olmadığından emin olun.
    Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");
    
  5. Geçerli bir e-posta adresi içeren yeni bir dize tanımlayın. Bu, yöntemin komut satırı bağımsız değişkeni boşsa varsayılan bir değer sağlar:

    String s = "johndoe@tempuri.org";
    
  6. Herhangi bir komut satırı parametresi olup olmadığını denetleyin; varsa, ilk parametreyi alın ve değişkenine satayın.

    if (args.Length > 0) {
        s = args[0];
    }
    
  7. Match E-posta adresi değişkenini geçirmek ve yeni Match bir nesne döndürmek için yöntemini kullanın. Nesne, Match kaynak dizede herhangi bir eşleşme bulunup bulunmadığına bakılmaksızın döndürülecektir.

    Match m = emailregex.Match(s);
    
  8. özelliğini inceleyerek Success , nesneyi işlemeye Match devam etmeye veya bir hata iletisi yazdırmaya karar verebiliriz. Başarılı olursa, nesnesinin user koleksiyonu Match içinde Groups ve host adlı grupları görüntüleyin.

    if (m.Success)
    {
        Console.WriteLine ("User: " + m.Groups["user"].Value);
        Console.WriteLine ("Host: " + m.Groups["host"].Value);
    }
    else
    {
        Console.WriteLine (s + " is not a valid email address");
    }
    Console.WriteLine ();
    
  9. Uygulamayı çalıştırdıktan sonra konsol penceresini açık tutmak için aşağıdaki kod satırlarını ekleyin:

    System.Console.WriteLine("Press Enter to Continue...");
    System.Console.ReadLine();
    
  10. Projenizi oluşturun.

  11. Uygulamayı geliştirme ortamında kodda belirtilen varsayılan e-posta adresini kullanarak çalıştırmak için F5 tuşuna basın veya Hata Ayıkla menüsünden Başlat'ı seçin. Uygulamayı komut satırı bağımsız değişkeniyle başlatmak için üç seçenek vardır:

    • Proje menüsünde Özellikler'e ve ardından Hata Ayıkla'ya tıklayın. Sağ bölmedeki Başlangıç Seçenekleri bölümünde, test etmek istediğiniz e-posta adresini belirtin. F5 tuşuna basın veya uygulamayı çalıştırmak için Hata Ayıkla menüsünde Başlat'a tıklayın.
    • Bir komut penceresi başlatın ve projenizin bulunduğu klasörün altındaki bölme veya hata ayıklama klasörüne gidin. Ardından yürütülebilir dosyanın adını ve ardından test etmek istediğiniz e-posta adresini yazın.
    • Bu projenin yürütülebilir dosyasını bulun ve Başlangıç... Görev çubuğundaki Çalıştırma penceresi. Doğrulamak için e-posta adresini ekleyin ve Tamam'a tıklayın.

Başvurular