NameCheap-Hosting

استفد من الخصومات على خدمات الاستضافة بمختلف انواعها

VPS hosting: up to 30% off!

الأحد، 24 ديسمبر 2017

شرح Regular Expression (Regex)


 Regex

ما هو Regular Expression (Regex)

من المواضيع المهمة في مجال الشبكات المختلفة security, VoIP, SDN وغيرها بالاضافة لأهميتها في مجال البرمجيات.
توفر regex آلية للبحث داخل النصوص عن صيغة معينة pattern بمحتوى منوع من الحروف والارقام المسافات حسب موقعها داخل النص. وعندما نذكر النصوص لا نقصد ملف بل أية بيانات سواء كانت داخل ملف أو ضمن  packet.

مثال:  \d{3}\s\w{5}
هنا نبحث عن صيغة داخل النص هيئتها على الشكل التالي:
\d{3}   الصيغة مكونة من ثلاثة أرقام
\s     متبوعة بمسافة فارغة (سواء كانت مسافة space أو tab)
\w{5}   متبوعة برقم مكون من خمس خانات
 
Regex موضوع واسع جدا وخياراته متنوعة وله استخدامات واسعة جدا، وتاليا أبرز الادوات التي تستخدم لتكوين الصيغ:
1)     الحروف الرمزية Meta-characters
وتستخدم لمطابقة محتوى حسب صنفه، فقد يكون المطلوب هو البحث عن أرقام فقط، أو مسافات فارغة داخل النصوص. ومن هذ الحروف الرمزية ما يلي:
\d   مطابقة الارقام 0-9
\w   مطابقة الحروف والارقام 0-9  a-z  A-Z
\s   مطابقة المسافات الفارغة مثل المسافة، نهاية السطر،  أو tab
.   (النقطة) مطابقة أي شيء ما عدا سطر جديد new line

2)     التكرار Quantifier
وتهدف لبحث عن الصيغة داخل النص حسب صنفها (أرقام، حروف، الخ) وبعدد مرات من التكرار يحدد بعدد أو مدى معين، كأن نبحث عن حرف e مكرر مرتين متتاليين.
*   تعبر عن تكرار صفر مرة أو أكثر
+   تعبر عن التكرار مرة واحدة أو أكثر
?   تعبر عن التكرار صفرمرة أو مرة واحدة
{min,max} تعبر عن تكرار لعدد معين من المرات ، العدد يقع بين حد أدنى وحد أعلى
{number} تكرار لعدد معين من المرات على الأقل

3)     الموقع Position
وتستخدم لتحديد موقع الصيغة المراد مطابقتها، كأن نبحث عن صيفة في بداية السطر، أو في نهايته أو في بداية ونهاية السطر.
^  المطابقة في بداية السطر
$   المطابقة في نهاية السطر
\b  المطابقة عند حدود السطر (البداية أو النهاية)

                       

.

ليست هناك تعليقات: