أداة اختبار Regex

/ /

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

كيف تختبر تعبيرًا نمطيًا

  1. 1

    أدخل نمطك

    اكتب التعبير دون فواصل حدّية؛ تُحيطه الأداة بـ `/ /` نيابةً عنك. يُظهر النمط غير الصالح رسالة خطأ واضحة بدل الفشل الصامت.

  2. 2

    اختر الرايات

    فعّل `i` (عدم حساسية حالة الأحرف) أو `m` (أسطر متعددة) أو `s` (dotall) للمطابقة كما تحتاج.

  3. 3

    الصق نص الاختبار

    أضِف النص الذي تريد البحث فيه. تمرّ الأداة عليه كاملًا وتجد كل تطابق، لا الأول فقط.

  4. 4

    افحص التطابقات

    يُظهر كل تطابق موضعه (offset) في النص، والتطابق الكامل، وكل مجموعة التقاط مرقّمة.

ماذا تُظهر لك الأداة

تشغيل نمط في ذهنك، أو بأمر grep سريع، يخبرك بما إذا كان شيء يتطابق. وتُظهر الأداة إضافةً إلى ذلك:

  • كل تطابق مع موضعه. تبحث دائمًا في النص كاملًا، وتُبلّغ عن كل تطابق مع موضع الحرف (offset) الذي يبدأ عنده.
  • أي مجموعة التقطت ماذا. يُقسَّم كل تطابق إلى تطابقه الكامل ومجموعات الالتقاط المرقّمة، لتؤكد أن (...) التقط الجزء الذي توقعته.
  • ما تغيّره الرايات. فعّل i أو m أو s وأعِد الاختبار لترى كيف تُغيّر المطابقة دون حساسية للحالة أو الأسطر المتعددة أو dotall النتيجة.

الرايات باختصار

الراية الاسم ما تغيّره
i عدم حساسية حالة الأحرف A يتطابق أيضًا مع a، والعكس
m أسطر متعددة يتطابق ^ و$ عند بداية كل سطر ونهايته، لا النص كله فقط
s Dotall يتطابق . أيضًا مع محارف السطر الجديد

المطابقة دائمًا شاملة (global): تُعيد الأداة كل تطابق في النص، فلا حاجة إلى ضبط راية “global” منفصلة. تُشغَّل الأنماط على محرّك PCRE مع دعم Unicode، لذا تتصرف أصناف مثل \w و\d باتساق على النص الدولي.

مشكلات Regex الشائعة التي يساعد هذا في كشفها

العَرَض السبب المعتاد
تطابق ضخم واحد يغطي كل شيء .* جشع؛ استخدم .*? أو صنفًا منفيًا مثل [^"]*
^ أو $ يتطابق مرة واحدة فقط غياب الراية m على نص متعدد الأسطر
. يتوقف عند السطر الجديد غياب الراية s
مجموعات الالتقاط بترتيب غير متوقع الأقواس ( المتداخلة تزيح أرقام المجموعات؛ عُدّها من اليسار إلى اليمين
نمط يعمل ببطء * أو + متداخلة فوق بدائل متراكبة تسبب تراجعًا كثيفًا

نصائح لأنماط أسرع وأكثر أمانًا

  • ثبّت بـ ^ عندما يبدأ التطابق من البداية، كي لا يمسح المحرّك السلسلة كلها.
  • فضّل صنف الأحرف ([abc]) على التبديل (a|b|c)؛ فالأصناف أسرع في كل محرّك رئيسي.
  • استبدل .* الجشع بصنف منفي مثل [^"]* عندما تعرف المحرف المُنهي، كي لا يحدث تراجع.

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

تُشغّل نمطك بمحرّك PCRE المدمج في PHP مع تفعيل وضع Unicode. يعمل البناء النحوي الخاص بـ PCRE، مثل \d و\b وعمليات النظر حول (lookaround)، كما هو متوقع. إن كنت ستستخدم النمط في JavaScript أو Python أو لغة أخرى، فتحقق من الفروق النحوية الصغيرة قبل النشر.

كل تطابق. تبحث الأداة دائمًا في النص كاملًا، فلا حاجة إلى ضبط راية “global” منفصلة. يُسرَد كل تطابق مع موضعه في النص.

نعم. يُقسَّم كل تطابق إلى التطابق الكامل وكل مجموعة التقاط مرقّمة، لتؤكد أي جزء من النص التقطه كل (...).

تجعل i المطابقة غير حساسة لحالة الأحرف، وتجعل m كلًّا من ^ و$ يتطابق عند كل حدّ سطر، وتتيح s لـ . أن يتطابق مع محارف السطر الجديد. فعّلها أو عطّلها وأعِد الاختبار لمقارنة النتائج.

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

أدوات ذات صلة

مرجع جدول ASCII

جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.

مرجع أحرف HTML

قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.

مرجع اختصارات لوحة المفاتيح

ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.

مدقق البريد الإلكتروني

تحقق من عنوان بريد إلكتروني: فحص صياغة RFC 5322، واستعلام حي عن سجل MX، بالإضافة إلى تفاصيل الجزء المحلي والنطاق والطول. لا يتم إرسال أي بريد.

مولد EditorConfig

أنشئ ملف .editorconfig من قواعد المسافة البادئة ونهاية السطر ومجموعة الأحرف، ثم أضف قسمًا صحيحًا لكل لغة في مستودعك: Python وGo وYAML وMakefile وغيرها.

عدّاد FPS

قِس معدل الإطارات FPS في المتصفح عبر requestAnimationFrame: تنعيم، وأدنى وأقصى معدل إطارات، وحد تنبيه، ورسم بياني اختياري. يعمل محليًا بلا رفع ملفات وبلا API.

الأداة متاحة بلغات أخرى