Saturday, December 14, 2013

أساسيات البرمجة سي شارب التعبيرات المنتظمة C# - Regular Expressions

8:56 AM

Share it Please

أساسيات البرمجة التعبيرات المنتظمة C# - Regular Expressions

التعابير المنتظمة  Regular Expressions:

هي عبارة عن أنماط لنصوص الأدخال في حال تم معالجتها فأنها إما أن تطبع كما هي أو إنها تعطي تعبير ذا معنى.

أنواع التعابير المنتظمة في سي شارب:-

  1. Character escapes
  2. Character classes
  3. Anchors
  4. Grouping constructs
  5. Quantifiers
  6. Backreference constructs
  7. Alternation constructs
  8. Substitutions
  9. Miscellaneous constructs

فئة  التعبير المنتظم The Regex Class

هي فئة تستخدم لانشاء التعابير النصية  مثل صيغة التحقق من نوع  كلمة السر فمثلا يجب ان تحتوي على رموز وحروف وارقام.وهكذا التحقق من الايميل.
التالي أكثر الدول الشائع استخدامها مع فئة التعبير.

التسلسلالدالة والوصف
1public bool IsMatch( string input ) 
تحدد هل النص مطابق للتعبير في مشيد الفئة ام لا
2public bool IsMatch( string input, int startat ) 
تشبه السابق الانها تحدد من اين يبدا مقارنة التعبير 
3public static bool IsMatch( string input, string pattern ) 
تحدد هل النص مطابق للنموذج الممرر من خلال الدالة
4public MatchCollection Matches( string input ) 
تبحث عن نص معين في كافة التعابير الموجودة
5public string Replace( string input, string replacement ) 
يتم استبدال نص وفقا للصيغة معينة بنص اخر
6public string[] Split( string input ) 
مصفوفة تقوم بقسم النص الى عناصر المصفوفة وفقا للصيغة التعبير


في المثال التالي سنبحث عن الكلمات التي تبدأ بالحرف "S"


using System;
using System.Text.RegularExpressions;

namespace RegExApplication
{
   class Program
   {
      private static void showMatch(string text, string expr)
      {
         Console.WriteLine("The Expression: " + expr);
         MatchCollection mc = Regex.Matches(text, expr);
         foreach (Match m in mc)
         {
            Console.WriteLine(m);
         }
      }
      static void Main(string[] args)
      {
         string str = "A Thousand Splendid Suns";

         Console.WriteLine("Matching words that start with 'S': ");
         showMatch(str, @"\bS\S*");
         Console.ReadKey();
      }
   }
}

ناتج الكود


Matching words that start with 'S':
The Expression: \bS\S*
Splendid
Suns


في المثال التالي نبحث عن الكلمات التي تبدأ بحرف "M" وتنتهي بحرف "E".

using System;
using System.Text.RegularExpressions;

namespace RegExApplication
{
   class Program
   {
      private static void showMatch(string text, string expr)
      {
         Console.WriteLine("The Expression: " + expr);
         MatchCollection mc = Regex.Matches(text, expr);
         foreach (Match m in mc)
         {
            Console.WriteLine(m);
         }
      }
      static void Main(string[] args)
      {
         string str = "make maze and manage to measure it";

         Console.WriteLine("Matching words start with 'm' and ends with 'e':");
         showMatch(str, @"\bm\S*e\b");
         Console.ReadKey();
      }
   }
}

ناتج الكود
Matching words start with 'm' and ends with 'e':
The Expression: \bm\S*e\b
make
maze
manage
measure

في المثال  التالي نبحث عن الفراغ ونقوم بحذفه.


using System;
using System.Text.RegularExpressions;

namespace RegExApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         string input = "Hello   World   ";
         string pattern = "\\s+";
         string replacement = " ";
         Regex rgx = new Regex(pattern);
         string result = rgx.Replace(input, replacement);

         Console.WriteLine("Original String: {0}", input);
         Console.WriteLine("Replacement String: {0}", result);    
         Console.ReadKey();
      }
   }
}
ناتج الكود 
Original String: Hello   World   
Replacement String: Hello World   



Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com
DOB: 05/10/1984
by +Ahmed Almahallawi 
17/12/2013

0 comments :

Post a Comment