السبت، 14 ديسمبر 2013

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

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

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

أساسيات البرمجة سي شارب ماهي التعابير او التعبيرات المنتظمة 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

التسميات: