ما هي التعابير النمطية؟
RegEx نمط للبحث عن نصوص بصيغة معيّنة (بريد إلكتروني، رقم هاتف،
تاريخ...). نستخدمها بوحدة re:
import re
text = "بريدي هو ali@mail.com تواصل معي"
match = re.search(r"\w+@\w+\.\w+", text)
print(match.group()) # ali@mail.com
أهم الدوال
import re
text = "السنة 2026 والشهر 06"
print(re.findall(r"\d+", text)) # ['2026', '06'] كل المطابقات
print(re.search(r"\d+", text)) # أول مطابقة
print(re.sub(r"\d+", "#", text)) # استبدال: السنة # والشهر #
رموز الأنماط الشائعة
| الرمز | يطابق |
|---|---|
\d | رقم (0-9) |
\w | حرف أو رقم |
\s | مسافة |
. | أي محرف |
+ | واحد أو أكثر |
* | صفر أو أكثر |
^ | بداية النص |
$ | نهاية النص |
💡 ضع
rقبل النمط دائمًا (raw string) حتى لا يفسّر بايثون\تفسيرًا خاطئًا.
مثال: التحقق من بريد إلكتروني
import re
def is_valid_email(email):
pattern = r"^[\w.]+@[\w]+\.[\w]+$"
return bool(re.match(pattern, email))
print(is_valid_email("ali@mail.com")) # True
print(is_valid_email("ali@mail")) # False
جرّب بنفسك
🐍 محرّر بايثون
...جارٍ تحميل المحرّر
اضغط «تشغيل» لرؤية النتيجة هنا.
أخطاء شائعة
- نسيان
rقبل النمط فتظهر أخطاء في رموز الهروب. - استخدام
match(تبدأ من أول النص) بدلsearch(تبحث في كل النص).
🎯 التالي: معالجة الأخطاء (Try...Except).