منشئ Regex
ابنِ تعبيرًا نمطيًا بصريًا من خطوات (نص وأرقام وحروف ومجموعات أحرف ومرتكزات) مع تكرار ومجموعات، أو ابدأ من أنماط جاهزة. اختبار مباشر.
/^\d{3}-\d{4}$/m2 تطابق
ما هو منشئ Regex؟
يبني تعبيرًا نمطيًا من قائمة خطوات بسيطة بدل كتابته يدويًا. كل خطوة لبنة – نص مطابق تمامًا أو رقم أو حرف أو حرف كلمة أو مسافة بيضاء أو أي حرف أو مجموعة أحرف أو مرتكز – مع قاعدة تكرار ومجموعة اختيارية. تمنحك أنماط جاهزة (بريد إلكتروني وURL وIPv4 وتاريخ ISO ولون hex ووقت وslug وUUID ووسم وكلمة مكررة) نقطة بداية، ويُختبَر النمط الناتج مباشرة على نص تجريبي.
كيفية استخدام منشئ Regex
- اختر نمطًا جاهزًا في ابدأ من نمط شائع، أو عدّل الخطوات الافتراضية.
- لكل خطوة اختر اللبنة ونصها أو أحرفها وعدد مرات تكرارها وهل هي مجموعة.
- استخدم إضافة خطوة والأسهم وإزالة لترتيب الخطوات، وفعّل الخيارات حسب الحاجة.
- راجع التطابقات في نص الاختبار وانسخ النمط الناتج.
مثال
Steps: start · digit exactly 3 · text "-" · digit exactly 4 · end (flag m)
/^\d{3}-\d{4}$/m – matches 555-1234 and 123-4567, not 55-12345 متى تستخدم منشئ Regex
استخدمه عندما تعرف شكل النص لكنك لا تعرف صيغة regex، أو للبدء من نمط جاهز مختبَر. وللبدائل (a|b) أو النظر للأمام والخلف أو المراجع الخلفية حسّن النمط الناتج في مختبر التعابير النمطية. الأنماط الجاهزة عملية لا مدققات RFC كاملة (فمثلًا نمط البريد لا يغطي كل عنوان يسمح به RFC).
كيف يعمل منشئ Regex
تُترجَم كل خطوة إلى مصدر regex: يُهرَّب النص المطابق تمامًا (فتُطابَق . أو ( حرفيًا)، وتصبح مجموعات الأحرف […] أو [^…] مع تهريب ] و\ و^، وتُطابَق اللبنات مع \d و\w و\s و\p{L} و. و^ و$ أو \b. تضيف التكرارات ? أو * أو + أو {n} أو {n,} أو {n,m}؛ ويُحاط النص متعدد الأحرف بمجموعة غير ملتقِطة قبل المحدِّد الكمي. تحيط المجموعات الملتقِطة وغير الملتقِطة والمسماة بالخطوة. تُوصَل الخطوات، ويُضاف الخيار u تلقائيًا عند استخدام \p{L}، ويُشغَّل النمط على النص التجريبي بالمحرك نفسه المستخدم في مختبر التعابير النمطية.
حالات الاستخدام الشائعة
- إنشاء نمط لرموز منتجات مثل ABC-1234
- البدء من نمط جاهز للتواريخ أو البريد أو UUID
- تعلم كيف تُطابَق اللبنات مع صيغة regex
- بناء أنماط تحقق لحقول النماذج
الأسئلة الشائعة
هل يمكنني تعديل regex الناتج يدويًا؟
انسخه إلى مختبر التعابير النمطية لتحسينه. وتُحمَّل الأنماط الجاهزة كجزء نمط قابل للتعديل.
لماذا أُضيف الخيار u تلقائيًا؟
تستخدم لبنة "أي حرف" الصيغة \p{L} التي لا يفهمها JavaScript إلا في وضع Unicode.
هل تُهرَّب الأحرف الخاصة في نصي؟
نعم. تهرّب خطوات النص المطابق تمامًا الأحرف الخاصة في regex، فتطابق "1.5" النص "1.5" فقط لا "125".