ForHosting KIT · أدوات المطورين

محول نمط glob إلى regex

الصق نمط glob واحصل على التعبير النمطي المقابل له: يصبح *.js هو ^.*\.js$، مع تهريب النقطة كي لا تطابق إلا نقطة حقيقية. وتُترجم أيضًا الأقواس المربعة وعلامات الاستفهام والشرطات المائلة العكسية. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
النمط
*.js
تحصل على
التعبير النمطي
^.*\.js$
متن التعبير النمطي
.*\.js
عدد أحرف البدل
1

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

كيف تُربط أنماط glob في الصدفة بالتعبيرات النمطية

نمط glob في الصدفة لغة أنماط مدمجة لمطابقة أسماء الملفات لا لتحليل النص الكامل. يطابق بدل النجمة أي تسلسل محارف (بما في ذلك التسلسل الفارغ)؛ في هذا المحول التعيين الافتراضي هو بنية regex نقطة-نجمة، بينما يعيّن وضع المسار النجمة إلى فئة محارف تستثني الشرطة المائلة متبوعة بمحدِّد كمية نجمة بحيث لا تستطيع نجمة واحدة ابتلاع فواصل الدلائل. تطابق علامة الاستفهام محرفًا واحدًا تمامًا؛ يستخدم الوضع الافتراضي نقطة واحدة، ووضع المسار فئة محرف واحد غير الشرطة.

تصبح تعبيرات الأقواس مثل a-z أو abc فئة المحارف المقابلة في regex. تستخدم نفي الصدفة علامة تعجب مباشرة بعد قوس الفتح، ويعيد هذا الأداة كتابتها كفئة منفية بعلامة الإقحام لتعمل المحركات التي لا تعرف سوى نفي الإقحام. تُقبل أيضًا علامة إقحام مباشرة بعد قوس الفتح كنفي.

تجبر الشرطة المائلة العكسية قبل محرف على معاملته حرفيًا حتى إن كان نجمة أو استفهامًا أو قوس فتح. يُهرَّب كل محرف عادي خاص في التعبيرات النمطية — النقطة والجمع والأقواس والأقواس المعقوفة والعمود والإقحام والدولار وما شابه — حتى لا يعني جزء اسم مثل report.v2 بالخطأ report متبوعًا بأي محرف ثم v2. توسيع الأقواس المعقوفة من شكل قوس a فاصلة b قوس هو معالجة مسبقة في الصدفة لا مطابقة glob، فتبقى الأقواس المعقوفة حرفيًا في regex الناتج بدل أن تصبح مجموعات تبديل.

أين تثبت واجهة glob إلى regex قيمتها

غالبًا ما تبدأ مرشحات المنتج في الواجهة الأمامية كأنماط glob ودّية (نجمة لأي لاحقة، استفهام لعنصر نائب واحد) بينما يقبل فهرس البحث أو قاعدة البيانات التعبيرات النمطية فقط؛ التحويل عند الحافة يبقي لغة المنتج بسيطة ومحرك الاستعلام صحيحًا. تستطيع مجموعات الاختبار وسكربتات CI التي تقبل أنماط include وexclude أن تجمع تلك الأنماط مرة واحدة إلى كائنات regex وتعيد استخدامها عبر آلاف فحوصات المسار دون إعادة تنفيذ قواعد الصدفة ارتجالًا.

تستفيد مواقع التوثيق وأدوات المطورين التي تستهدف محول نمط glob إلى regex من ودجة حية يطابق مسار المتصفح المجاني فيها مسار الأتمتة المدفوع بايتًا ببايت على الموديول النقي نفسه. تحتاج مراجعات الأمن والبحث في الشيفرة أحيانًا إلى إظهار ما يعنيه glob موروث فعليًا بصيغة regex قبل اعتماد تغيير قاعدة. التحقق الفاشل لا يستهلك الرصيد.

مرشحات واجهة بلغة glob ومحركات تحتاج regex

اقبلوا أنماطًا موجّهة للمستخدم مثل *.png أو report-????.csv وحوّلوها إلى تعبيرات نمطية مثبتة للمطابقة من جانب العميل أو الخادم.

توثيق وتعليم دلالات أحرف البدل

اعرضوا جنبًا إلى جنب ما يصبح عليه glob الصدفة كتعبير نمطي حتى يرى المتعلمون الهروب والفئات والمراسي بوضوح.

ما أحرف البدل المدعومة؟

النجمة (*) لأي تسلسل، وعلامة الاستفهام (?) لمحرف واحد، وفئات الأقواس ([abc] و[a-z] و[! x] أو [^x] للنفي)، وهروب الشرطة المائلة العكسية للمحرف التالي. توسيع الأقواس المعقوفة لا يُعامل كبدل.

لماذا تُهرَّب النقطة في اسم الملف؟

في التعبير النمطي تعني النقطة المفردة أي حرف، فيطابق report.v2 أيضًا كلمة report يليها أي حرف ثم v2. لذلك يُهرَّب كل حرف خاص كي تبقى الأجزاء الحرفية حرفية.

ما الذي يغيّره وضع المسارات؟

عند تفعيل وضع المسارات تتوقف النجمة وعلامة الاستفهام عند الشرطة المائلة، فلا تبتلع نجمة واحدة فواصل المجلدات، كما في find والكثير من الأصداف. ومن دونه يطابق كلاهما أي حرف.

هل تُوسَّع الأقواس المعقوفة مثل {a,b}؟

لا. الأقواس المعقوفة معالجة مسبقة تقوم بها الصدفة وليست جزءًا من نمط glob، لذا تبقى حروفًا عادية في التعبير النمطي بدل أن تصبح بدائل.

هل يمكنني الحصول على التعبير دون مرساتي البداية والنهاية؟

نعم. يُحاط الناتج افتراضيًا بالعلامتين ^ و$ ليطابق النص كاملًا، لكن يمكنك أخذ الجسم وحده جاهزًا لإدراجه داخل نمط أكبر.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/dev/glob-to-regex

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev/glob-to-regex \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pattern":"*.js"}'
{
  "pattern": "*.js"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.glob_to_regex",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

يشغّل الموديول النقي نفسه ودجة المتصفح المجانية ومسار API، فلا تختلف أمثلة التوثيق وعملاء الإنتاج حول ما إذا نُقلت نقطة أو قوس بشكل صحيح.

حقول الإدخال وشكل الاستجابة وأوضاع الفشل

يلفّ المنطقي الاختياري anchored (الافتراضي true) التعبير النهائي بعلامة إقحام ودولار ليطابق regex السلسلة المرشحة كاملة؛ اضبطوا anchored على false عندما تحتاجون الجسم فقط للتركيب داخل نمط أكبر. يجوز أن تتضمن فئات المحارف قوس إغلاق حرفيًا كأول عضو بعد الفاتح أو علامة النفي وفق ممارسة POSIX والصدفة الشائعة. تُعامل شرطة مائلة عكسية ختامية وحيدة كشرطة حرفية لا كهروب ناقص. أرسلوا جسم JSON بالحقل النصي الإلزامي pattern (والأسماء البديلة glob وpattern_glob وwildcard) وفيه نمط glob الذي تريدون ترجمته. يفعّل المنطقي الاختياري path_mode (الافتراضي false) النجمة وعلامة الاستفهام الواعيتين بالشرطة. عند النجاح تعيد الاستجابة pattern وpath_mode وanchored؛ وتعيد regex (التعبير الكامل الذي يمكن تمريره لمحرك regex)؛ وتعيد regex_body (الترجمة نفسها دون المراسي الخارجية)؛ وتبلّغ wildcard_count لتروا كم رمز نجمة أو استفهام أو فئة وُجد؛ وتتضمن سلسلة formula قصيرة تلخص التعيين الساري. يفشل pattern الفارغ أو غير النصي والأنماط الأطول من ألفين وثمانية وأربعين محرفًا وفئات المحارف غير المغلقة والفئات الفارغة والنطاقات المعكوسة مثل z-a بـ invalid_input دون فوترة.

أين تثبت واجهة glob إلى regex قيمتها

لأن التنفيذ parse نقي من الفئة A، يكلف كل استدعاء ناجح السعر الأساسي المنشور $0.002 بلا رموز نموذج ولا شبكة صادرة. حافظوا على الأنماط قصيرة وثبّتوا سلاسل regex المعادة في الاختبارات لتحصلوا على ترجمات قابلة للتكرار للودجات وSDK وعمال الحافة دون إقامة صدفة أو مكتبة fnmatch خاصة بلغة بمفردكم.

قواعد التضمين والاستبعاد في CI

ترجموا أنماط glob للمشروع إلى regex بوضع path_mode حتى يطبّق مشغّلو الاختبارات وأدوات linter القواعد الواعية بالمقطع نفسها دون إعادة تحليل glob لكل ملف.

كيف أحوّل نمط glob إلى تعبير نمطي؟

أرسلوا POST بجسم JSON فيه pattern مساوٍ لنمط glob في الصدفة (مثل *.js). تعيد API الحقل regex (مثبتًا افتراضيًا) وregex_body. اضبطوا path_mode على true إذا كان يجب ألا يطابق * و? الشرطة المائلة.

ماذا يغيّر path_mode؟

عندما يكون path_mode صحيحًا يصبح * هو [^/]* و? هو [^/]، فلا يعبر أي بدل فاصل الدليل. عندما يكون false (الافتراضي) قد يطابقان أي محرف بما في ذلك الشرطة المائلة.

لماذا حصلت على invalid_input؟

أسباب شائعة: pattern مفقود أو فارغ، فئة '[...]' غير مغلقة، فئة فارغة، نطاق معكوس داخل الأقواس، pattern ليس سلسلة، أو نمط أطول من 2048 محرفًا. هذه الإخفاقات لا تُفوتر.

كم يكلف محول نمط glob إلى regex؟

أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل استدعاء ناجح؛ الإدخال غير الصالح لا يُفوتر.

اطّلع على توثيق KIT الكامل ←