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 المطابقة
عند حدود السطر (البداية أو النهاية)
.