Utilia

مخطط سكة حديد للتعبيرات النمطية

حوّل تعبير JavaScript النمطي إلى مخطط سكة حديد واضح يُظهر المجموعات والبدائل والحلقات والنظر الأمامي والخلفي، ثم صدّره بصيغة SVG أو PNG.

الأعلام: أي من d g i m s u v y. يمكنك أيضًا لصق تعبير حرفي مثل /\d+/g.

مجموعات الالتقاط
–
البدائل
–
المُكمِّمات
–

مخطط سكة الحديد

الأزرق: نص حرفي. الأخضر: أنواع الأحرف ومجموعاتها (الأحمر: مجموعة مستبعدة). البنفسجي: المراسي والحدود. البرتقالي: المراجع الخلفية. الإطارات المتقطّعة: المجموعات والنظر الأمامي والخلفي. المسار فوق العنصر يتخطّاه، والمسار تحته يكرّره.

كيف تتصوّر تعبيرًا نمطيًا

  1. اكتب نمطك أو الصقه في حقل التعبير النمطي. يمكنك أيضًا لصق تعبير JavaScript حرفي كامل مثل /^\d{3}-\d{4}$/gm: تُحذف الشرطتان المائلتان وتنتقل الأعلام إلى حقل الأعلام تلقائيًا.
  2. أضف الأعلام إن احتجت إليها (أي من d g i m s u v y). تغيّر الأعلام طريقة رسم بعض الأجزاء: مع m يصبح ^ و$ «بداية السطر» و«نهاية السطر»، ومع s تصبح النقطة «أي حرف».
  3. يتحدّث المخطط أثناء الكتابة. يعيد زر رسم المخطط رسمه عند الطلب، ويتنقّل زر المثال التالي بين عدة أنماط شائعة (بريد إلكتروني، ورقم هاتف، ولون ست عشري، وسعر، ووسم HTML، ورابط URL).
  4. اقرأ المخطط من اليسار إلى اليمين، من النقطة الممتلئة إلى النقطة المطوّقة. كل مسار يمكنك تتبّعه هو سلسلة نصية يمكن أن يطابقها النمط.
  5. استخدم تنزيل SVG للحصول على صورة متجهية حادّة (للتوثيق والعروض التقديمية)، أو تنزيل PNG لصورة بدقة مضاعفة، أو نسخ شيفرة SVG للصق الشيفرة في صفحة ويب.

مرّر المؤشر فوق أي مربع لترى جزء النمط الذي يمثّله وموضعه.

كيف تقرأ مخطط سكة الحديد

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

  • المربعات الزرقاء نص حرفي يجب أن يظهر كما هو، مثل “@”.
  • المربعات الخضراء أنواع الأحرف (\d رقم، و\w حرف كلمة، و. أي حرف…) وفئات الأحرف. تصبح فئة مثل [\w.+-] مربعًا بعنوان «واحد من» يسرد كل عنصر، أما الفئة المنفية [^…] فحمراء بعنوان «ليس أيًّا من».
  • الأشكال البنفسجية المستديرة هي المراسي والحدود: بداية النص أو السطر ونهايته، وحدّ الكلمة \b. وهي تطابق موضعًا لا حرفًا.
  • المربعات البرتقالية المتقطّعة هي المراجع الخلفية مثل \1 أو \k<name>: النص نفسه الذي طابقته مجموعة سابقة.
  • الإطارات المتقطّعة هي المجموعات. تُرقَّم مجموعات الالتقاط بترتيب أقواس فتحها («المجموعة #2 «domain»»)، أما المجموعات غير الملتقِطة (?:…) فلا تُؤطَّر. ويحصل النظر الأمامي والخلفي على إطار وردي بعنوان «يليه» أو «يسبقه»، لأنهما يفحصان النص دون استهلاكه.
  • المسارات المتوازية هي البدائل المفصولة بـ |.
  • المسار فوق العنصر يسمح بتخطّيه (? و* و{0,n}). والمسار تحته مع سهم يعود لتكراره (+ و* و{n,m}). تُكتب الأعداد غير المعتادة تحت الحلقة، مثل «من 2 إلى 5 مرة»، وتُعلَّم المُكمِّمات الكسولة (+? و*?) بكلمة «كسول».

رسائل الخطأ مع المواضع

يتحقّق محرّك التعبيرات النمطية في JavaScript المدمج في متصفحك من النمط، لذا فما تقبله هذه الأداة هو بالضبط ما تقبله new RegExp() بالأعلام نفسها. وعندما يرفضه المحرّك، تشير الأداة إلى الحرف المسبّب للخطأ مع موضعه وعلامة ^ تحت النمط. وهي تتعرّف على قوس ) بلا مقابل، ومجموعة لا تُغلق أبدًا، وفئة أحرف ينقصها ]، ومُكمِّم بلا شيء يكرّره (*a وa|+)، وشرطة مائلة عكسية منفردة في النهاية، ومُكمِّمات {n,m} يكون فيها n أكبر من m. أما الأخطاء الأخرى، كمرجع خلفي إلى اسم مجموعة غير موجود، فتُعرض برسالة المتصفح.

يُترجَم التعبير فقط للتحقق من صحته: لا يُشغَّل أبدًا على أي نص، ولا يغادر أي شيء متصفحك.

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

أي نوع من التعبيرات النمطية تدعمه هذه الأداة؟

تعبيرات JavaScript ‏(ECMAScript) النمطية، بما في ذلك المجموعات المسمّاة والنظر الخلفي وخصائص Unicode ‏\p{…} والعلم v مع الفئات المتداخلة. وتعمل عادةً الأنماط المأخوذة من PCRE أو Python أو Java أيضًا، لكن الصياغة الخاصة بتلك المحرّكات، مثل المُكمِّمات الاستحواذية أو (?P<name>…)، تُرفض لأن المتصفح لا يدعمها.

لماذا لا تُرسم مجموعتي غير الملتقِطة داخل إطار؟

المجموعة مثل (?:\.[\w-]+) تجمع العناصر فقط ليُطبَّق عليها كلها مُكمِّم أو بديل. لا تُنشئ التقاطًا، لذا يعرض المخطط محتواها وحلقتها دون إطار، ما يُبقي الرسم مقروءًا. أما المجموعات ذات الأعلام المضمّنة فتُؤطَّر وتُعنون بتلك الأعلام.

ما الفرق بين مسار التخطّي والحلقة؟

المسار فوق العنصر يعني «يُسمح بصفر مرات»، والمسار تحته يعني «يمكن تكراره». للعلامة ? المسار العلوي فقط، وللعلامة + السفلي فقط، وللعلامة * كلاهما. وفي مُكمِّم مثل {2,4}، تحمل الحلقة عبارة «من 2 إلى 4 مرة».

هل يمكنني استخدام المخطط في توثيقي؟

نعم. ملف SVG المُصدَّر ملف متجهي مستقل بخلفية بيضاء وخطوط داكنة، مثالي لملفات README والويكي والعروض التقديمية. أما PNG فيُصدَّر بضعف حجم الرسم على الشاشة ليظهر حادًّا على الشاشات عالية الكثافة.

هل هناك حدّ للحجم؟

يمكن أن يصل طول النمط إلى 5,000 حرف. تُنتج التعبيرات الطويلة جدًا مخططًا عريضًا يمكنك تمريره أفقيًا، وغالبًا ما يجعل تقسيمها إلى أجزاء مسمّاة المخطط والتعبير معًا أسهل في الصيانة.