تخطي إلى المحتوى
SPCXTools

مختبر Regex

اكتب تعبيراً نمطياً وشاهد كل تطابق، ومجموعة التقاط، وعملية استبدال في الوقت الفعلي.

تعمل محلياً — ملفاتك لا تغادر جهازك أبداً

جاري تحميل الأداة…

كيفية استخدام مختبر Regex

  1. 1اكتب التعبير النمطي في مربع Pattern — لا حاجة لكتابة الشرطات المائلة.
  2. 2اختر العلامات (flags) مثل g (للبحث عن كل التطابقات)، أو i (لتجاهل حالة الأحرف)، أو m (للنصوص متعددة الأسطر).
  3. 3الصق النص المراد البحث فيه في مربع Test string. سيتم تمييز التطابقات وحسابها فوراً.
  4. 4راجع الجدول لمعرفة موقع كل تطابق ومجموعات الالتقاط الخاصة به.
  5. 5ضع علامة على Replace وأدخل نص استبدال مثل $2: $1 لمعاينة نتيجة String.replace.

اختبار التعابير النمطية مع نتائج مباشرة

التعابير النمطية (Regular expressions) قوية ولكن يُعرف عنها صعوبة قراءتها. توضح لك أداة اختبار التعابير النمطية هذه ما يفعله النمط الخاص بك بدقة أثناء الكتابة: حيث يتم تمييز كل تطابق في النص، وحسابه، وإدراجه مع موقعه ومجموعات الالتقاط (capture groups). كما تعرض معاينة الاستبدال نتيجة البحث والاستبدال قبل تنفيذها في الكود الخاص بك. يعمل كل شيء محليًا في متصفحك، داخل عامل خلفية (background worker) يحمي الصفحة من الأنماط التي قد تستهلك الموارد وتخرج عن السيطرة.

الميزات

  • تمييز مباشر لجميع التطابقات في نص الاختبار.
  • أزرار تبديل العلامات (Flags) مثل g و i و m و s و u، مع عرض الصيغة الكاملة /pattern/flags.
  • جدول التطابقات يعرض الفهرس، ومجموعات الالتقاط المرقمة، والمجموعات المسماة.
  • معاينة الاستبدال تدعم $1 و $<name> و $& وأنماط الاستبدال الأخرى.
  • رسائل خطأ واضحة للصيغ غير الصالحة، ومهلة أمان مدتها ثانية واحدة لتجنب التراجع الكارثي (catastrophic backtracking).

استخدامات عملية

التحقق من صحة المدخلات. أنشئ واختبر أنماطاً للرموز البريدية أو أكواد المنتجات أو أسماء المستخدمين مقابل قائمة من العينات الصالحة وغير الصالحة قبل إضافتها إلى أي نموذج.

استخراج البيانات. استخرج عناوين البريد الإلكتروني أو الروابط (URLs) أو التواريخ أو المعرفات (IDs) من السجلات والمستندات. تتيح لك مجموعات الالتقاط تقسيم كل تطابق إلى أجزاء، مثل المستخدم والنطاق.

البحث والاستبدال. أعد تنسيق التواريخ من MM/DD/YYYY إلى YYYY-MM-DD، أو أعد تسمية المتغيرات، أو نظف البيانات المُصدّرة. عاين الاستبدال هنا، ثم استخدم نفس النمط في محرر النصوص أو السكربت الخاص بك.

تعلم التعابير النمطية (Regex). جرب استخدام المحددات الكمية (quantifiers)، وفئات الأحرف (character classes)، والمثبتات (anchors)، وشاهد التأثير فوراً.

مرجع سريع

الصيغة المعنى
. أي حرف باستثناء فاصل الأسطر (أي حرف مع s)
\d \w \s رقم، حرف كلمة، مسافة بيضاء
[abc] [^abc] أحد / لا أحد من الأحرف المذكورة
* + ? 0 أو أكثر، 1 أو أكثر، 0 أو 1
{2,5} بين 2 و 5 مرات
^ $ بداية ونهاية النص (لكل سطر مع m)
(…) (?<name>…) مجموعة التقاط، مجموعة مسماة
(?:…) مجموعة بدون التقاط
(?=…) (?!…) بحث استباقي، بحث استباقي سلبي
\b حدود الكلمة

تكون محددات الكمية شرهة افتراضياً؛ أضف ? (كما في .*?) لجعلها كسولة. لتنظيف القوائم لاحقاً، جرب حذف الأسطر المكررة، أو قارن بين قبل وبعد باستخدام مقارنة النصوص.

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

أي إصدار من التعابير النمطية (Regex) تستخدمه هذه الأداة؟
تستخدم الأداة محرك التعابير النمطية لـ JavaScript (ECMAScript) المدمج في متصفحك — وهو نفس المحرك المستخدم في Node.js و Deno وأكواد الواجهة الأمامية. تتطابق معظم الصيغ مع PCRE و Python و Java، ولكن تختلف بعض الميزات، مثل المحددات الكمية التملكية (possessive quantifiers) (غير مدعومة) والبحث الخلفي (lookbehind) (مدعوم في المتصفحات الحديثة).
لماذا يعثر التعبير النمطي الخاص بي على تطابق واحد فقط؟
بدون تفعيل العلامة g (شامل أو global)، تتوقف JavaScript عند أول تطابق. قم بتفعيل g للعثور على جميع التطابقات في النص.
كيف يمكنني الإشارة إلى مجموعات الالتقاط (capture groups) في نص الاستبدال؟
استخدم $1 و $2 وما إلى ذلك للمجموعات المرقمة، و $<name> للمجموعات المسماة مثل (?<year>\d{4})، و $& للتطابق بالكامل، و $$ لعلامة الدولار الحرفية.
ماذا يحدث إذا كان التعبير النمطي الخاص بي بطيئاً جداً؟
بعض الأنماط، مثل (a+)+$، قد تستغرق وقتاً أسياً مع بعض المدخلات ("التراجع الكارثي" أو catastrophic backtracking). تقوم الأداة بتشغيل تعبيرك في عامل خلفية (background worker) وتوقفه بعد ثانية واحدة، حتى لا تتجمد الصفحة أبداً. أعد كتابة النمط لتجنب المحددات الكمية المتداخلة.
ماذا تفعل العلامتان s و u؟
تتيح العلامة s (dotAll) للنقطة . مطابقة فواصل الأسطر أيضاً. أما العلامة u (unicode) فتعامل النمط والنص كنقاط تشفير Unicode، وهو أمر ضروري للرموز التعبيرية (emoji) ولخصائص الهروب \p{…} مثل \p{L} (أي حرف).
هل يتم رفع النص الخاص بي إلى الخادم؟
لا. تتم عمليات المطابقة والاستبدال محلياً داخل متصفحك.