كيفية القيام بما يلي: البحث عن السلاسل الحرفية باستخدام التعابير العادية (دليل البرمجة لـ #C)

يمكن استخدام الفئة System.Text.RegularExpressions.Regex للبحث عن سلاسل حرفية. يمكن أن تتراوح عمليات البحث هذه في التعقيد من بسيطة للغاية إلى استغلال كامل للتعبيرات العادية. فيما يلي مثالين للبحث عن سلسلة حرفية باستخدام الفئة Regex. لمزيد من المعلومات، راجع تعابير عادية إطار عمل .NET.

مثال

التعليمات البرمجية التالية عبارة عن تطبيق وحدة تحكم تقوم بإجراء بحث بسيط لا يتحسس حالة الأحرف لسلاسل حرفية في صفيف. ينفذ الأسلوب الثابت Regex.IsMatch بحث بإعطائه سلسلة حرفية بتم عليها البحث وسلسلة حرفية تحتوي على نمط البحث. في هذه الحالة، يتم استخدام وسيطة ثالثة للإشارة إلى تجاهل حالة الأحرف أم لا. لمزيد من المعلومات، راجع 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
*/

التعليمات البرمجية التاليه عبارة عن تطبيق وحدة تحكم يستخدم التعابير العادية للتحقق من صحة تنسيق كل سلسلة حرفية في صفيف. يتطلب التحقق من الصحة أن تكون كل سلسلة حرفية على شكل رقم هاتف يتضمن ثلاث مجموعات من ارقام يتم فصلهم بواسطة شرطات، أول مجموعتين تحتويان على ثلاثة أرقام والمجموعة الثالثة تحتوي على أربعة أرقام. يتم ذلك عن طريق استخدام التعبير العادي ^\\d{3}-\\d{3}-\\d{4}$. لمزيد من المعلومات، راجع عناصر اللغة تعبير عادي.

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
*/

راجع أيضًا:

المرجع

السلاسل (البرمجة C# إرشادات)

المبادئ

دليل البرمجة لـ #C