Regular Expression 2


كتابة الأخ :MrBassam

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

فى الجزء الاول تعرفنا على مفهوم الـ Regular Expression ودعم الدوت نت له ككثير من لغات البرمجه
كما تعرفنا على كيفية كتابة الصيغ للبحث عن نص ساكن او البحث عن نص يتخلله اى حرف او حرف من مجموعة حروف , كذلك تعرفنا على كيفية البحث عن المسافات البيضاء ورموز التحكم التى لا تطبع , كما تعرفنا على الاحرف الخاصه ومعانيها وكيفية البحث عنها , وتعرفنا ايضاً على فئات الـ POSIX .
واليوم سوف نكمل بأذن الله.

البحث عن مجموعة حروف:

فى ما مضى كنا نبحث عن حرف واحد سوء كان الحرف ذاته كنص ساكن او اى حرف باستخدام النقطه او حرف من مجموعة حروف باستخدام المجموعات داخل الاقواس المربعه[]
ماذا اذا اردنا البحث عن مجموعة حروف
فى هذه الحاله نستخدم احد الطرق التاليه:

البحث عن حرف او مجموعة حروف:
ملحوظه: ياتى ذكر الكلمه “حرف” كثيراً فى اغلب الاحيان لتعبر عن حرف او رمز وربما رقم ايضاً .
يمكن ان نستخدم الـ “+” للبحث عن حرف او اكثر من حرف من جنس ما يسبقه
مثال: للبحث عن رقم واحد/عدد واحد من مجموعة الارقام العشريه الصحيحه نستخدم الصيغه [0123456789] او [9-0]
والناتيج يكون رقم واحد Diget اما اذا اردنا البحث عن الاعداد الحقيقيه نستخدم الصيغه +[0-9] هذه الصيغه سوف تعيد اى رقم مثل 255 او 10252 او 25 او 7
مثال اخر للبحث عن جمبع الكلمات فى النص نستخدم +w\ حيث w\تعنى اى حرف
مثال اخر للبحث عن رقم ثنائى نستخدم الصيغه +[01]

البحث عن حرف او مجموعة حروف او لاشئ:
الـ “+” تحل محل حرف واحد على الاقل او اكثر من نفس النوع الذى يسبقها , اما اذا اردنا ان يكون هذا الحرف اختيارياً بمعنى ان يكون حرف او مجموعة حروف او لاشئ نستبدل الـ “+” بالـ “*
بالتاكيد معظمنا يعرف الـ “*” وكثيراً ما استخدمناها ايام الـ DOS او فى البحث فى الـ Windows او حتى مع المعامل Like
اما بالنسبه لصيغتها فهى لاتختلف عن الـ”+” سوء انها يمكن ان تساوى لاشئ – اى حرف او اكثر او لاشئ من جنس ما يسبقها –

البحث عن حرف واحد او لاشئ:
نستخدم الـ “؟” لمطابقة الحرف الذى يسبقها او لاشئ
بمعنى اخر نستخدم الـ”؟” فى حالة وجود حرف اختيارى مثل علامة الدولار $ فى اخر اسماء المتغيرات فى الفيجوال بيسك مثلاً.
مثال: الصيغه //:?https سوف تساوى //:https و //:http ايضاً , فى هذه الحاله الحرف S اختيارى.
لاتنسا ان تضع \ قبل الـ ؟ اذا ارت البحث عنها ذاتها.

تحديد عدد الحروف المراد البحث عنها:
باستخدام الطرق السالفة الذكر استطعنا ان نبحث عن مجموعة حروف او حرف واحد على الاقل او لاشئ
ماذا لو اردنا ان نبحث عن عدد معين من الحروف او ان يكون عدد الحروف فى مدى معين مثل كلمة المرور التى لاتقل عن 6 حروف ولا تزيد عن 20 حرف
يوفر لنا الـ Regular Expression ما يعرف بالـ Intervals من خلال الاقواس {} التى من خلاله يمكن التحكم فى عدد تكرار عنصر الصيغه.
الصيغه الاولى: لتكرار الصيغه بعدد معين نستخدم {رقم} للبحث عن عدد رقم من جنس ما سبق
مثال : للبحث عن الوان الـHTML فى النسق السداسى عشر نستخدم الصيغه

رمز برمجي:
#[0-9A-Za-z]{6}

الصيغه الثانيه: ان يكون عدد الحروف فى مدى معين اى لايقل عن عدد معين ولا يذيد عن عدد معين
فى هذه الحاله نستخدم الصيغه {اكبر عدد,اقل عدد}
مثال: لنفرض اننا نريد التحقق من كلمة المرور انها اكبر من 6 حروف واقل من 21 حرف ستكون الصيغه بالشكل التالى

رمز برمجي:
\w{6,21}

الصيغه الثالثه : مطابقة/البحث عن عدد من الحروف لا يقل عن عدد معين
فى هذه الحاله نستخدم الصيغه {,رقم} لاتنسا الفاصله التى تتيع الرقم
مثال : لنتاكد ان عدد حروف مشاركة عضو اكبر من عشرين حرف على الاقل نستخدم الصيغه التاليه

رمز برمجي:
\w{20,}

لاحظ ان الـ + تساوى {,1}
ملحوظه: فى حالة البحث عن اى عدد من الرموز ربما تكون النتائج اكبر مما تتوقع ولذلك ينصح بوضع شرط للنهايه مثلاً نص ثابت ينتهى به التعبير او الصيغه مثل

رمز برمجي:
<[Bb]>.*</[Bb]>

للبحث عن النص السميك فى نص html
يتبع

__________________
@MrBassam
MrBassam@GMail.com
Advertisements
  1. لا توجد تعليقات حتى الأن.
  1. No trackbacks yet.

شاركنا برأيك ,لكي نرقى بالمدونة,يمكنك أضافة تعليق عن طريق حسابك في Facebook

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: