بسم الله الرحمن الرحيم

RE Regex مكتبة ريجكس

تاريخ النشر : June 22, 2020

التعبيرات القياسية (Regular Expressions)، هي أنماط (patterns) تُستخدم لمطابقة مجموعة من الأحرف في السلاسل النصية


ملحوظة : الموضوع مازال تحت التطوير والتحديث

س. ماهو الغرض من إستخدام المكتبة

تستخدم المكتبة أساساّ لمعالجة النصوص وتحديدأ تسهيل البحث في أنماط النص تُعد Regexes مفيدة جدا ً لمجموعة متنوعة من مهام معالجة النصوص .

س. كيف تدرج المكتبة في كود البايثون؟
import re
re1.PNG
\d

تعني أي رقم من 0 إلي 9

\D

أي شيء ليس رقما

\w

تعني أي حرف أو رقم

\s

أي مسافة بيضاء، وهي كل ما لا ترى له جرما مطبوعا، مثل : المسافة و فاصل الأسطر (زر Enter) ، ونحوها

\S

أي شيء بخلاف المسافة البيضاء

\r\n

فاصل الأسطر (= زر Enter)

[ ]

تستخدم للتنسيق

{}

تستخدم للخانات

*

تستخدم للخانات

+

تستخدم للخانات

؟
تستخدم للخانات
( )

تستخدم للتجميع

|

أو

. dot symbol

تجاهل

re2.PNG
re3.PNG
شرح أهم الخصائص والوظائف مع الأمثلة
import re

re_test = 'This is a made up string to test 2 different regex methods'
re_test_messy = 'This      is a made up     string to test 2    different regex methods'
re_test_messy1 = 'This-is-a-made/up.string*to>>>>test----2""""""different~regex-methods'
Split

تستخدم لتقطيع الجملة الى كلمات بإستخدام المسافات الفارغة أو حرف معين.

ففي المثال التالي نقسم الجملة الى كلمات بدلالة المسافة الفاصلة.

re.split('\s',re_test)
spilit.PNG

وأيضا يمكننا أستخدام الكود التالي لتقسيم الجملة علي أساس المسافات والأرقام والأشكال الخاصة بستثناء الحرف

re.spilit('\W+',re_test_messy)
Find all

تستخدم findall لنفس الغرض السابق للبحث عن نمط معين من البيانات وإسترجاعه.

ففي المثالل التالي تقوم المكتبة بإسترجاع كل القيم التي تحتوي علي كامات واستثناء الرموز الغيرحرفيه .

re.findall('\w+',re_test_messy1)
MATCH
Search
Sub

تستخدم لإستبدال نص مكان نمط

re.sub(A, B, C) ويعني replace A with B in string C

import re

string = "at what time?"
match = re.sub("\s","!!!",string)
print (match)
Compile
Verbos
fullmatch
finditer()
esacpe()
المصادر

العودة إلي لغة البرمجة البايثون Python