1. الرئيسية
  2. أدوات المطورين والأمان
  3. اختبار التعابير النمطية Regex

اختبار التعابير النمطية Regex

اكتب نمطك واختبره فورًا على نص تجريبي: تظليل لكل تطابق، وجدول بالمجموعات الملتقطة، ومعاينة للاستبدال، ومكتبة أنماط شائعة جاهزة للاستخدام.

مجانية بالكاملتعمل في متصفحكبدون تسجيل
//
مرجع سريع للرموز
.أي محرف\dرقم
\wحرف أو رقم أو _\sمسافة
^ $بداية/نهاية السطر\bحد الكلمة
* + ?0+ / 1+ / اختياري{2,5}من 2 إلى 5 مرات
[abc]أحد المحارف(…)مجموعة التقاط
a|bأو(?=…)نظرة أمامية

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

التعابير النمطية (Regular Expressions أو Regex) لغة صغيرة لوصف أنماط النصوص، تتيح لك البحث عن تراكيب معقدة واستبدالها والتحقق منها بسطر واحد. تُستخدم في كل لغات البرمجة تقريبًا (JavaScript وPython وPHP وJava) وفي محررات النصوص وأدوات سطر الأوامر، للتحقق من صحة البريد الإلكتروني وأرقام الهواتف، واستخراج البيانات من النصوص، وتنظيف الملفات.

كيف تستخدم الأداة؟

  1. اكتب النمط في خانة Pattern دون الشرطتين المائلتين.
  2. أضف الأعلام (Flags): g لكل التطابقات، وi لتجاهل حالة الأحرف، وm لتعدد الأسطر، وs لجعل النقطة تطابق السطر الجديد، وu لدعم يونيكود.
  3. اكتب نصًا تجريبيًا وشاهد التطابقات مظللة فورًا.
  4. راجع جدول التطابقات لمعرفة موضع كل تطابق ومجموعاته الملتقطة.
  5. اكتب نص الاستبدال باستخدام $1 و$2 للإشارة إلى المجموعات، كما في المثال الذي يحوّل صيغة التاريخ.

التعامل مع النص العربي

الرمز \w لا يطابق الحروف العربية في JavaScript، لذا استخدم النطاق [\u0600-\u06FF] لمطابقة الحروف العربية، أو \p{L} مع العلم u لمطابقة الحروف في جميع اللغات. وتذكر أن حد الكلمة \b لا يعمل مع العربية أيضًا، فاستعض عنه بـ (?<!\p{L}) و(?!\p{L}).

أنماط مفيدة

  • رقم هاتف مغربي: ^(?:\+212|0)[5-7]\d{8}$
  • رقم جوال سعودي: ^(?:\+966|0)5\d{8}$
  • رمز بريدي من 5 أرقام: ^\d{5}$
  • كلمة مرور قوية (8+ مع حرف كبير وصغير ورقم): ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$

لتطبيق الاستبدال على نص طويل استخدم أداة البحث والاستبدال، فهي تدعم Regex أيضًا.

ورقة مرجعية سريعة للتعابير النمطية

الرمزالمعنى
.أي حرف عدا سطر جديد
\d / \w / \sرقم / حرف أو رقم أو _ / مسافة
* / + / ?صفر أو أكثر / مرة أو أكثر / اختياري
{2,5}من 2 إلى 5 مرات
^ / $بداية / نهاية السطر
[a-z] / [^0-9]مجموعة أحرف / أي شيء عدا الأرقام
( ) / |مجموعة التقاط / أو

التعابير النمطية مع النص العربي

الرمز \w في JavaScript يطابق الأحرف اللاتينية فقط، لذلك لمطابقة الأحرف العربية استخدم النطاق [\u0600-\u06FF] أو خاصية Unicode \p{Script=Arabic} مع العلم u. وانتبه إلى أن التشكيل أحرف مستقلة، فقد تحتاج إلى إزالته أولًا عبر أداة إزالة التشكيل.

الأسئلة الشائعة

أي محرك Regex تستخدم الأداة؟

محرك JavaScript المدمج في متصفحك، وهو متوافق إلى حد كبير مع لغات أخرى مع اختلافات بسيطة في بعض الميزات المتقدمة.

لماذا لا يطابق \w الحروف العربية؟

لأن \w في JavaScript يقتصر على الحروف اللاتينية والأرقام و_. استخدم [\u0600-\u06FF] أو \p{L} مع العلم u.

ما فائدة العلم g؟

يجعل البحث يجد كل التطابقات بدل التوقف عند الأول.

كيف أشير إلى مجموعة في الاستبدال؟

استخدم $1 للمجموعة الأولى و$2 للثانية، أو $ للمجموعات المسماة.

هل يُرسل النص إلى خادم؟

لا، كل شيء يعمل في متصفحك.

آخر تحديث: