تخطي إلى المحتوى الرئيسي
FreeOnlineTools Go
العربية
توضيح

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

بواسطة FreeOnlineTools Team · تم التحديث في 2026-09-02

إجابة سريعة

التعابير النمطية = أنماط بحث في النص. . = أي حرف، * = تكرار، [] = فئة أحرف، () = مجموعة. استخدم أداة اختبار التعابير النمطية المجانية للمطابقة في الوقت الفعلي في متصفحك.

مقدمة

التعابير النمطية (regex) هي تسلسلات أحرف تعرف أنماط بحث. نشأت في نظرية الأتماتة في الخمسينيات. تستخدم للبحث والمطابقة والاستبدال في النص. الأحرف الخاصة: . * + ? [] () {} ^ $ |. مدعومة في جميع لغات البرمجة مع اختلافات بسيطة.

خطوة بخطوة

  1. فهم الحرفي والأحرف الوصفية

    الأحرف الحرفية (أ، ب، 1، @) تتطابق مع نفسها. الأحرف الأولية لها معاني خاصة: . يطابق أي حرف، * يعني صفر أو أكثر، + يعني واحد أو أكثر، ؟ يعني صفر أو واحد، ^ تبدأ التطابقات، وتنتهي التطابقات $.

  2. تعلم فئات الشخصيات

    تحدد الأقواس المربعة [] فئة الأحرف - يطابق [aeiou] أي حرف متحرك، ويطابق [0-9] أي رقم، ويطابق [^0-9] أي حرف غير رقمي. فئات الاختزال: \d (رقم)، \w (حرف الكلمة)، \s (مسافة بيضاء)، وأحرف النفي الكبيرة الخاصة بها.

  3. استخدام محددات الكمية

    تحدد محددات الكمية عدد المرات التي يتكرر فيها النمط: * (0+)، + (1+)، ؟ (0 أو 1)، {n} (n بالضبط)، {n،} (n+)، {n،m} (n إلى m). الجشع افتراضيا؛ يضيف ؟ للمطابقة البطيئة (على سبيل المثال، *؟).

  4. المجموعة والمرساة

    الأقواس () تنشئ مجموعات الالتقاط. التناوب | يطابق كلا الجانبين (قطة|كلب). تتطابق المراسي ^ و$ مع بداية السلسلة ونهايتها. استخدمها لبناء أنماط معقدة من أنماط أبسط.

أمثلة

قم بمطابقة نمط يشبه البريد الإلكتروني

مدخل: Pattern: [a-z]+@[a-z]+\.[a-z]+

الإخراج: التطابقات: alice@example.com، bob@test.org

مطابقة تنسيق رقم الهاتف

مدخل: Pattern: \d{3}-\d{3}-\d{4}

الإخراج: Matches: 555-123-4567

استخراج أزواج القيمة الرئيسية

مدخل: Pattern: (\w+)=(\w+)

الإخراج: Matches 'key=value' with group 1 as key, group 2 as value

المشاكل الشائعة

  • المطابقة الجشعة تستهلك أكثر من اللازم —.* تتطابق قدر الإمكان. يستخدم .*؟ للمطابقة البطيئة للعثور على أقصر تطابق.
  • نسيان الهروب من الأحرف الخاصة —.، *، +، ?، وما إلى ذلك، فهي خاصة. استخدم \ لمطابقتها حرفيًا (على سبيل المثال، \. يطابق نقطة حرفية).
  • التراجع الكارثي - يمكن أن تستغرق الأنماط ذات محددات الكمية المتداخلة (على سبيل المثال، (a+)+) وقتًا هائلاً على مدخلات معينة، مما يتسبب في هجمات ReDoS.
  • الإفراط في المطابقة - بدون نقاط ارتساء (^ و$)، يتطابق النمط في أي مكان. استخدم ^...$ لمطابقة السلسلة بأكملها.

نصائح

  • ابدأ بالبساطة وأضف التعقيد بشكل تدريجي - يعد تصحيح أخطاء التعبير العادي المعقد مرة واحدة أمرًا صعبًا للغاية.
  • استخدم أداة اختبار التعبير العادي لتجربة الأنماط مقابل نموذج النص - راجع المطابقات المميزة في الوقت الفعلي.
  • قم بالتعليق على التعابير المنطقية المعقدة باستخدام الوضع الموسع (علامة /x في بعض المحركات) أو قم بتقسيمها إلى أجزاء محددة.
  • استخدم أداة اختبار Regex الخاصة بنا لاختبار الأنماط على الفور في متصفحك - بدون اشتراك، وخصوصية تامة.

الأدوات ذات الصلة

أدلة ذات صلة

مراجع