🐍 شرح Python

التعابير النمطية (RegEx)

ما هي التعابير النمطية؟

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).