🧩
← العودة للأدلة

التعبيرات النمطية للمبتدئين: كيفية كتابة التعابير النمطية

· وسوم: regex-beginners, regular-expression-guide, regex-tutorial, regex-patterns, learn-regex

التعبيرات النمطية للمبتدئين

التعبيرات النمطية — regex — هي أنماط تصف النصوص. باستخدام regex، يمكنك البحث في السلاسل النصية والتحقق من صحة المدخلات واستخراج البيانات وإجراء عمليات البحث والاستبدال المعقدة باستخدام تعبير واحد مدمج. بمجرد فهمك للأساسيات، تصبح التعبيرات النمطية واحدة من أقوى الأدوات في مجموعة أدوات البرمجة لديك.

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

التعبير النمطي هو تسلسل من الأحرف يحدد نمط بحث. النمط \d{3}-\d{2}-\d{4} يطابق رقم الضمان الاجتماعي الأمريكي: ثلاثة أرقام، شرطة، رقمان، شرطة، أربعة أرقام.

توجد محركات التعبيرات النمطية في جميع لغات البرمجة تقريبًا — JavaScript و Python و Java و Ruby و Go — جميعها تدعمها بشكل مدمج.

الأحرف الحرفية

معظم الأحرف تطابق نفسها. النمط cat يطابق السلسلة الحرفية "cat" أينما ظهرت.

Pattern: cat
Matches: "cat" في "The cat sat on the mat."
Matches: "cat" في "catalog"

المطابقة الحرفية مباشرة ولكنها محدودة. القوة الحقيقية تأتي من الأحرف الوصفية.

الأحرف الوصفية

هذه الأحرف لها معنى خاص ويجب تهريبها باستخدام \ لمطابقتها حرفيًا:

. ^ $ * + ? { } [ ] \ | ( )

أنماط الأحرف

تطابق أنماط الأحرف حرفًا واحدًا من مجموعة.

ترميز الأقواس المربعة

| النمط | يطابق | |---------|---------| | [aeiou] | أي حرف متحرك | | [0-9] | أي رقم | | [a-zA-Z] | أي حرف | | [^0-9] | أي حرف ليس رقمًا |

الأنماط المعرّفة مسبقًا

| الاختصار | الوصف | |-----------|-------------| | \d | أي رقم (مثل [0-9]) | | \w | حرف أو رقم أو شرطة سفلية | | \s | مسافة أو تبويب أو سطر جديد | | \D | أي حرف غير رقمي | | \W | أي حرف غير كلمي | | \S | أي حرف غير مسافة بيضاء | | . | أي حرف باستثناء السطر الجديد |

المحددات الكمية

تتحكم المحددات الكمية في عدد مرات ظهور العنصر السابق.

| المحدد | المعنى | مثال | يطابق | |------------|---------|---------|---------| | * | صفر أو أكثر | a* | ""، "a"، "aa" | | + | واحد أو أكثر | a+ | "a"، "aa"، "aaa" | | ? | صفر أو واحد | colou?r | "color"، "colour" | | {3} | بالضبط N | \d{3} | "123" | | {2,4} | بين N و M | \d{2,4} | "12"، "123"، "1234" |

أمثلة

\d+     → "42" في "Answer is 42"
https?://  → "http://" و "https://"

المثبتات

تطابق المثبتات المواضع وليس الأحرف.

| المثبت | المعنى | |--------|---------| | ^ | بداية السلسلة | | $ | نهاية السلسلة | | \b | حدود الكلمة | | \B | غير حدود الكلمة |

^hello   → يطابق "hello" فقط في البداية
end$     → يطابق "end" فقط في النهاية
\bword\b → يطابق "word" ككلمة كاملة، وليس داخل "sword"

المجموعات والتناوب

مجموعات الالتقاط ( ) تستخرج الأجزاء المتطابقة:

(\d{3})-(\d{4}) → "555-1234"، يلتقط "555" في المجموعة 1، و "1234" في المجموعة 2

المجموعات غير الملتقطة (?: ) تجمع دون استخراج:

(?:https?|ftp):// → "http://"، "https://"، "ftp://"

التناوب | يعمل كـ OR:

cat|dog|bird → يطابق "cat" أو "dog" أو "bird"

أمثلة عملية للتعبيرات النمطية

| حالة الاستخدام | النمط | |----------|---------| | هاتف أمريكي | \d{3}-\d{3}-\d{4} | | بريد إلكتروني (بسيط) | \S+@\S+\.\S+ | | عنوان IP | \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} | | وسم | #[a-zA-Z]\w* | | الوقت (HH:MM) | [01]\d|2[0-3]:[0-5]\d |

كيفية اختبار نمط تعبير نمطي

اختبر الأنماط دائمًا بشكل تفاعلي:

  1. أدخل نمط التعبير النمطي الخاص بك.
  2. أدخل سلسلة نصية للاختبار.
  3. شاهد الأجزاء المتطابقة في الوقت الفعلي.
  4. عدّل وكرر.

استخدم أداة اختبار التعبيرات النمطية لتجربة الأنماط. إنها تبرز التطابقات وتعرض مجموعات الالتقاط وتساعدك على فهم ما يفعله كل جزء من تعبيرك بالضبط.

التعبيرات النمطية للمبتدئين: كيفية كتابة التعابير النمطية - CoolTool