السلام عليكم
الدرس الرابع : Using MetaCharacters إستخدام أدوات Regex
مدة الدرس 8 دقائق
هنالك جملة من الأدوات لـ Regex تستخدم في عملية المطابقة , منها ماذكرناه في الدرس الثاني وهي أدات النقطة
كذلك عملية escaping التي علق عليها الإستاذ عبدالله بأنها تحول الادوات الخاصة بـ Regex إلى وضعها الطبيعي كرموز مثل النقطة
و أنا و الأستاذ عبدالله نتفق إن شاء الله كذلك أن الـ Backslash \ يقوم كذلك بتحويل بعض الأحرف الطبيعية إلى أدوات لـ Regex
منها مثلاً d\ وغير ذلك .
نذكر أهم هذه الأدوا ت
أولاً أداة النجمة : تنوب عن صفر أو أكثر بالقيمة التي سبقتها مثلاً
Const str1 As String = "\d*"
التعليق : طابق لا شيء اي قد يكون فارغ Null لاتوجد قيمة أو أكثر اي أو توجد ( من الأرقام) كون \d يعني ارقام سنتطرق له لاحقاً .
السبب: كون أداة * النجمة تقبل صفر أو أكثر المقصود بصفر ليس 0 zero إنما هو فارغ Null
في الـ VB.NET يعرف بـ Nothing
ثانياً أداة الزائد + : تنوب عن خانة أو أكثر بالقيمة التي سبقتها مثلاً
Const str1 As String = "\d+"
التعليق : طابق رقم أو عدة أرقام بشرط أن لا يقل عن رقم
السبب : كون أداة + الزائد تقبل خانة أو أكثر ( اي شرطية ) لانها لا يمكن أن تترك فارغة .
الأداة d\ وتعني أرقام فقط وتمثلها الصيغة التالية
[0-9]
الأداة D\ وتعني اي شيء إلا الأرقام وتمثلها الصيغة التالية
[^0-9]
الأداة w\ وتعني حروف أرقام و شرطة سفلية underscore تمثلها الصيغة التالية
[a-zA-Z0-9_]
الأداة W\ وتعني أي شيء ماعدى الأحرف و الأرقام و الشرطة السفلية وتمثلها الصيغة التالية
[^a-zA-Z0-9_]
الأداة s\ وتعني المسافة space اي البحث عن فراغ
الأداة S\ اي شيء إلا المسافة وهي عكس \s
الأداة ^ وتعني بداية السطر Start Of the Line مثلاً
Const str1 As String = "^\d+"
التعليق لتتم المطابقة لابد أن يبدأ السطر برقم مثلاً 1sasa
الأداة $ وتعني نهاية السطر End of the Line مثلاً
Const str2 As String = "\d+$"
التعليق لتتم المطابقة لابد أن ينتهي السطر برقم مثلاً sasd1
و لجعل الخانة لا تقبل إلا أرقام ولا تقبل Null نكتب التالي
Const str3 As String = "^\d+$"
التعليق لتتم المطابقة لابد أن تكون القيمة عبارة عن ارقام مثل 32343343 لكن ليس 2332334ق أو ض323232
الأداة b\ وتعني بداية الكلمة وتعرف بـ Word boundaries حدود الكلمة
للبحث عن أول الكلمة يكون كالتالي
Const str1 As String = "\bH"
أبحث عن الحرف H في أول الكلمة مثلاً Hello مطابقة كون الحرف الأول هو H
وللبحث عن أخر الكلمة يكون كالتالي
Const str1 As String = "H\b"
إبحث عن الحرف H في أخر الكلمة
في المطابقة مثلاً OHHH مطابقة كون الحرف الأخير هو H
سنتكلم في درس مستقل عن الـ Word boundaries حدود الكلمة لنغطي جانب الأدوات المتوفرة في VB.NET
لتحل مشاكل إدخال المستخدم .
سؤال هذا الدرس : أكتب الصيغة المناسبة لمطابقة القيمة التالية خانة تقبل من واحد إلى عشرة على واحد إلى عشرة
لا تقبل الصفر ولا يمكن أن تكون فارغة . مثلاً 1\10 لكن ليس 0\1 أو Null
نكتفي بهذا القدر والله أعلى و أعلم .
