Aracılığıyla paylaş


Nasıl: arama dizeleri normal ifadeler kullanarak (C# Programlama Kılavuzu)

System.Text.RegularExpressions.Regex Sınıf dizeleri aramak için kullanılabilir.Bu aramaları tam normal ifadelerin kullanımını gerçekleşmesiyle karmaşıklığı çok basit değişebilir.Aşağıdaki iki dize kullanarak arama örnekler Regex sınıf.Daha fazla bilgi için bkz. .net Framework normal ifadeler.

Örnek

Aşağıdaki kod basit bir büyük küçük harf duyarlı arama dizeleri bir dizide gerçekleştiren bir konsol uygulamasıdır.Statik yöntemi Regex.IsMatch aranacak dize ve arama deseni içeren bir dize verilen arama gerçekleştirir.Bu durumda, üçüncü bağımsız değişken, büyük/küçük harf dikkate alınması belirtmek için kullanılır.Daha fazla bilgi için bkz. System.Text.RegularExpressions.RegexOptions.

class TestRegularExpressions
{
    static void Main()
    {
        string[] sentences = 
        {
            "C# code",
            "Chapter 2: Writing Code",
            "Unicode",
            "no match here"
        };

        string sPattern = "code";

        foreach (string s in sentences)
        {
            System.Console.Write("{0,24}", s);

            if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
            {
                System.Console.WriteLine("  (match for '{0}' found)", sPattern);
            }
            else
            {
                System.Console.WriteLine();
            }
        }

        // Keep the console window open in debug mode.
        System.Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();

    }
}
/* Output:
           C# code  (match for 'code' found)
           Chapter 2: Writing Code  (match for 'code' found)
           Unicode  (match for 'code' found)
           no match here
*/

Aşağıdaki kod bir dizideki her dizenin biçimi doğrulamak için normal ifadeleri kullanan bir konsol uygulamasıdır.Her dize üç grupta çizgilerle ayrılmış bir telefon numarası biçiminde olduğunu doğrulama gerektirir, ilk iki grupları üç basamak içerir ve üçüncü Grup dört basamak içerir.Bu normal ifade kullanarak yapılır ^\\d{3}-\\d{3}-\\d{4}$.Daha fazla bilgi için bkz. Normal ifade dil - hızlı başvuru.

class TestRegularExpressionValidation
{
    static void Main()
    {
        string[] numbers = 
        {
            "123-555-0190", 
            "444-234-22450", 
            "690-555-0178", 
            "146-893-232",
            "146-555-0122",
            "4007-555-0111", 
            "407-555-0111", 
            "407-2-5555", 
        };

        string sPattern = "^\\d{3}-\\d{3}-\\d{4}$";

        foreach (string s in numbers)
        {
            System.Console.Write("{0,14}", s);

            if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern))
            {
                System.Console.WriteLine(" - valid");
            }
            else
            {
                System.Console.WriteLine(" - invalid");
            }
        }

        // Keep the console window open in debug mode.
        System.Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();
    }
}
/* Output:
      123-555-0190 - valid
     444-234-22450 - invalid
      690-555-0178 - valid
       146-893-232 - invalid
      146-555-0122 - valid
     4007-555-0111 - invalid
      407-555-0111 - valid
        407-2-5555 - invalid
*/

Ayrıca bkz.

Başvuru

System.Text.RegularExpressions.Regex

Kavramlar

C# Programlama Kılavuzu

Normal ifade dil - hızlı başvuru

Diğer Kaynaklar

Dizeleri (C# Programlama Kılavuzu)

.net Framework normal ifadeler