أداة شرح التعبيرات النمطية (Regex)
ألصق أي تعبير نمطي (regex) واحصل على شرح واضح بالعربية، جزءًا تلو الآخر، لما يفعله فعليًا - إضافة إلى أداة اختبار حيّة أسفله تعمل بالكامل داخل متصفحك، لتجربة النمط على نصك الخاص دون رفع أي شيء.
- عام - يجد كل التطابقات، لا الأول فقط
جرّبه مع نصك الخاص
يعمل فورًا في متصفحك أثناء الكتابة - لا يُرسل أي شيء إلى أي مكان في هذا الجزء.
الأسئلة الشائعة
كيف تشرح هذه الأداة تعبيرًا نمطيًا؟
ترسل نمطك إلى نموذج ذكاء اصطناعي مجاني، الذي يقسّمه إلى أجزائه ذات المعنى - فئة أحرف، مُحدِّد تكرار، مجموعة - ويكتب شرحًا واضحًا بالعربية لكل جزء، مع مثالين أو ثلاثة لسلاسل نصية ستطابق النمط وأخرى تشبهها لكنها لن تطابقه. صياغة التعبيرات النمطية معروفة بكثافتها وسهولة إساءة قراءتها حتى من قِبل من يكتبونها كثيرًا، لذا الهدف هنا هو تحويل سطر غامض من الرموز إلى شيء يمكنك فهمه بنظرة سريعة.
هل يُرسَل نمطي أو نص الاختبار الخاص بي إلى خادم؟
يُرسَل النمط نفسه إلى نموذج ذكاء اصطناعي مجاني لتوليد الشرح الواضح بالعربية - هذا الجزء لا يمكن حقًا أن يعمل داخل المتصفح، لأنه يتطلب فهمًا لغويًا حقيقيًا لا مجرد منطق ثابت. أما مربع 'جرّبه على نصك الخاص' أدناه فمنفصل تمامًا: فهو يشغّل النمط عبر محرك التعبيرات النمطية الخاص بمتصفحك نفسه، محليًا، ولا شيء مما تكتبه فيه يُرسَل إلى أي مكان إطلاقًا. إذا كنت تختبر نمطًا على نص حساس، فهذا المربع للاختبار الحي هو ما يجب استخدامه - شرح الذكاء الاصطناعي لا يرى سوى النمط نفسه، ولا يرى أبدًا بيانات اختبارك.
ما الفرق بين شرح الذكاء الاصطناعي وأداة الاختبار الحي؟
يجيب شرح الذكاء الاصطناعي عن سؤال 'ماذا يعني هذا النمط' بلغة واضحة - مفيد عندما تقرأ تعبيرًا نمطيًا كتبه شخص آخر، أو نمطًا كتبته أنت قبل فترة ولم تعد تتذكره. أما أداة الاختبار الحي فتجيب عن سؤال مختلف وأكثر واقعية: 'هل يطابق هذا النمط فعليًا هذا النص المحدد' - فهي تشغّل محرك regex الحقيقي لمتصفحك على ما تلصقه، وتُبرز كل تطابق فوريًا أثناء الكتابة. معًا، يغطيان كلًا من فهم النمط والتأكد من أنه يتصرف كما هو متوقع.
هل تدعم كل أنواع صياغة التعبيرات النمطية، أم فقط صياغة JavaScript؟
تستخدم أداة الاختبار الحي تحديدًا محرك التعبيرات النمطية المدمج في JavaScript (نفس المحرك المستخدم في Chrome وFirefox وNode.js وكل المتصفحات)، لذا فإن أي نمط صالح في صياغة JavaScript سيُختبر هنا بشكل صحيح. شرح الذكاء الاصطناعي أكثر مرونة عمليًا - إذ يبذل قصارى جهده لشرح الأنماط المكتوبة بصياغة PCRE، أو وحدة `re` في بايثون، أو صياغات شائعة أخرى، رغم أن اختلافات بسيطة بين الصياغات (كصياغة المجموعات المسمّاة، أو دعم النظر الخلفي lookbehind) قد تجعل أداة الاختبار الحي أدناه ترفض نمطًا كان محرك لغة أخرى سيقبله.
لماذا تظهر رسالة 'Not a valid pattern'؟
هذا يعني أن النمط يحتوي على خطأ صياغي في regex الخاص بـ JavaScript - سبب شائع هو مجموعة أو قوس غير مُغلق (مثل `(` منفردة دون `)` مقابلة)، أو نطاق مُحدِّد تكرار غير صالح (مثل `{5,2}`، حيث الحد الأدنى أكبر من الحد الأقصى)، أو مجموعة رايات (flags) لا يدعمها JavaScript. رسالة الخطأ المعروضة تأتي مباشرة من محرك regex الخاص بالمتصفح نفسه - وهي إذن نفس الرسالة التي كنت ستحصل عليها لو حاولت استخدام هذا النمط في كود JavaScript حقيقي، وهي إشارة مفيدة بحد ذاتها لتصحيح الخطأ.
هل يمكنني اختبار نصي الخاص دون إرساله إلى أي مكان؟
نعم - هذا بالضبط ما صُمم من أجله قسم 'جرّبه على نصك الخاص'. فهو يعمل بالكامل بواسطة محرك RegExp المدمج في متصفحك، نفسه الذي يشغّل أي JavaScript على الصفحة، دون أي طلب شبكة على الإطلاق. يمكنك لصق نص حساس هناك بثقة؛ فقط النمط نفسه (وليس نص الاختبار أبدًا) هو ما يُرسَل إلى نموذج الذكاء الاصطناعي، وفقط عندما تنقر على 'Explain this pattern'.
ماذا تعني أمثلة 'Would match' و'Would not match'؟
هي سلاسل نصية قصيرة وواقعية ولّدها الذكاء الاصطناعي لتوضيح سلوك النمط بشكل ملموس، لا مجردًا فقط. أمثلة 'Would match' تُظهر سلاسل يُفترض أن يقبلها النمط؛ أما أمثلة 'Would not match' فتتشابه معها عمدًا لكنها تفشل لسبب محدد يمكن تفسيره - كأن ينقصها حرف واحد، أو تستخدم فاصلًا خاطئًا، أو تفتقد جزءًا مطلوبًا. قراءة الجانبين معًا غالبًا ما تكون أسرع من قراءة الملخص الواضح وحده لبناء حدس حقيقي حول حدود النمط.
هل يساعدني هذا في كتابة regex جديد، أم فقط في شرح الموجود منه؟
صُممت تحديدًا للحالة الثانية - شرح نمط موجود بالفعل، سواء كان نمطًا كتبته أنت قبل فترة، أو وجدته في كود شخص آخر، أو من شرح تعليمي أو إجابة على Stack Overflow تريد فهمها حقًا قبل استخدامها. إنها ليست أداة توليد تكتب نمطًا انطلاقًا من وصف بلغة واضحة؛ بل تعمل في الاتجاه المعاكس، بفك تشفير نمط مكتوب مسبقًا.
ما رايات (flags) الـ regex المدعومة؟
كل رايات JavaScript القياسية: `g` (شامل - يجد كل تطابق لا الأول فقط)، `i` (غير حساس لحالة الأحرف)، `m` (متعدد الأسطر، يغيّر ما يطابقه `^` و`$`)، `s` (dotall، يجعل `.` يطابق أسطر جديدة أيضًا)، `u` (وضع يونيكود)، `y` (تطابق لاصق sticky) و`d` (فهارس التطابق). اكتب أي مزيج في حقل Flags، وستسرد الأداة معنى كل واحدة مباشرة أسفل الحقل، حتى لا تضطر لحفظها جميعًا.
هل شرح الذكاء الاصطناعي دقيق دائمًا بنسبة 100٪؟
عادة ما يكون موثوقًا للأنماط الشائعة اليومية - كالتحقق من صحة البريد الإلكتروني، أو مطابقة الروابط، أو صيغ أرقام الهواتف وما شابه - لكن مثل أي شرح يولّده ذكاء اصطناعي، قد يصف أحيانًا بشكل خاطئ نمطًا غير مألوف أو متداخلًا بعمق، خاصة إذا استخدم ميزات regex أقل شيوعًا. تبقى أداة الاختبار الحي أدناه المصدر الأكثر موثوقية للحقيقة بالنسبة لأي نص محدد، لأنها تشغّل محرك regex الفعلي بدلًا من وصف نموذج لغوي له - عند بدو تعارض بينهما، ثق بنتائج التطابق الفعلية لأداة الاختبار الحي أكثر من الشرح المكتوب.
هل يمكنني استخدام هذا للتحضير لمقابلة برمجية أو لتعلّم regex؟
نعم - لصق أنماط من شرح تعليمي لـ regex، أو ورقة تحضير لمقابلة برمجية، أو توثيق تحاول فهمه، وقراءة التفصيل جزءًا تلو الآخر إلى جانب أمثلة التطابق وعدمه، طريقة فعّالة حقًا لبناء حدس حقيقي حول كيفية تصرف صياغة regex، وأسرع من قراءة جدول مرجعي للرموز بمعزل عن أي سياق.
هل تخزّن هذه الأداة أو تسجّل الأنماط التي أشرحها؟
لا يُطلب ولا يُحفَظ أي حساب أو تسجيل دخول أو سجل من قِبل هذه الأداة - كل شرح هو طلب واحد بلا حالة يُرسَل إلى نموذج الذكاء الاصطناعي، دون الاحتفاظ بأي سجل بعده، تمامًا مثل كل أداة أخرى في هذا الموقع. وكما هو الحال مع أي طلب يُرسَل إلى نموذج ذكاء اصطناعي تابع لجهة خارجية، تجنّب لصق نمط يحتوي هو نفسه على بيانات حساسة حرفية (كأن تكون كلمة مرور حقيقية أو معرّف شخصي مضمَّن مباشرة في نص الـ regex) - رغم أن الأنماط الواقعية نادرًا ما تُكتب بهذه الطريقة أصلًا.