أداة اختبار التعبيرات النمطية
Freeاختبر تعبيرًا نمطيًا مقابل نص باستخدام محرك التعبيرات النمطية الأصلي في JavaScript، مع تمييز التطابقات مباشرة، وتحليل كامل لمجموعات الالتقاط المرقّمة والمسمّاة، ووضع استبدال اختياري يعاين ناتج String.replace().
يعمل بالكامل في متصفحك باستخدام محرك التعبيرات النمطية الأصلي في JavaScript. لا يُرفع أي شيء إلى أي مكان.
التطابقات المميزة
التطابقات
النشاط الأخير
مرئي للجميع. آخر 20 استخدامًا من جميع الزوار، الأحدث أولاً.
Tested a pattern (50 chars, flags: g) -- 2 match(es)
منذ ساعتين
Tested a pattern (50 chars, flags: g) -- 2 match(es)
منذ ساعتين
Tested a pattern (50 chars, flags: g) -- 2 match(es)
منذ ساعتين
Tested a pattern (50 chars, flags: g) -- 2 match(es)
منذ ساعتين
Tested a pattern (50 chars, flags: (none)) -- 1 match(es)
منذ ساعتين
Tested a pattern (50 chars, flags: g) -- 2 match(es)
منذ ساعتين
ماذا تفعل هذه الأداة
تختبر هذه الأداة تعبيرًا نمطيًا مقابل كتلة من النص باستخدام محرك التعبيرات النمطية الأصلي في JavaScript الخاص بالمتصفح. تُميَّز التطابقات مباشرة في النص، ويُحلَّل كل تطابق إلى مجموعات التقاطه المرقّمة والمسمّاة، ويُظهر وضع استبدال اختياري ما ستنتجه دالة String.replace() تمامًا بنمطك ونص الاستبدال.
كيف يعمل
يُجمَّع نمطك والأعلام المحددة في كائن RegExp حقيقي في JavaScript. عند تفعيل علم Global، تستدعي الأداة exec() بشكل متكرر على النص، متقدمةً بعد كل تطابق (وبمقدار حرف واحد بعد التطابقات الفارغة لتجنب حلقة لا نهائية) حتى لا يُعثر على تطابقات أخرى؛ بدون Global، تُستدعى exec() مرة واحدة فقط. يُبنى التمييز بالمرور على التطابقات بالترتيب وتغليف كل سلسلة فرعية متطابقة بعلامة مع ترك النص المحيط دون تغيير. يستدعي وضع الاستبدال دالة replace() الخاصة بالنص نفسه بنمطك المُجمَّع ونص الاستبدال، لذا تكون النتيجة تمامًا ما سينتجه كود JavaScript الخاص بك.
المشكلات التي تحلها
- تصحيح سبب عدم تطابق تعبير نمطي في كود JavaScript الفعلي الخاص بك مع ما تتوقعه، باستخدام المحرك نفسه تمامًا.
- معاينة عملية بحث واستبدال قبل تشغيلها على بيانات حقيقية.
- فهم أي جزء من النمط تتوافق معه كل مجموعة التقاط، من خلال رؤية النص الملتقط لكل مجموعة في آنٍ واحد.
- تعلّم أعلام التعبيرات النمطية عمليًا بتفعيلها وإلغاء تفعيلها ومراقبة تغيّر قائمة التطابقات فورًا.
الأسئلة الشائعة
›ما لهجة التعبيرات النمطية التي تستخدمها هذه الأداة؟
تُشغّل هذه الأداة نمطك عبر محرك RegExp الأصلي في JavaScript الخاص بالمتصفح نفسه، لذا تتطابق تمامًا مع كيفية تصرف تعبير نمطي في كود JavaScript حقيقي، أو في Node.js، أو في مدقق نموذج من جانب المتصفح، وليس مع لهجة مختلفة مثل PCRE (لدى PHP، وبايثون مع وحدة re، خصائصها الغريبة الخاصة) أو تعبيرات .NET النمطية، التي قد تختلف في دعم lookbehind وصيغة المجموعات المسمّاة وبعض التفاصيل الأخرى.
›ما الذي تغيّره أعلام g و i و m و s و u فعليًا؟
g (عام) يجد كل تطابق بدلًا من التوقف عند الأول؛ i يجعل التطابق غير حساس لحالة الأحرف؛ m يجعل ^ و$ يطابقان بداية ونهاية كل سطر بدلًا من بداية ونهاية السلسلة كاملة فقط؛ s (dotall) يجعل . يطابق أيضًا أحرف فاصل السطر، وهو ما لا يفعله بدون هذا العلم؛ u يفعّل وضع يونيكود الكامل، الذي يؤثر على كيفية معالجة فئات الأحرف والأزواج البديلة (الأحرف خارج المستوى الأساسي المتعدد اللغات، مثل كثير من الرموز التعبيرية).
›لماذا تظهر بعض مجموعات الالتقاط كغائبة مع أن نمطي يحتوي على أقواس؟
تلتقط مجموعة الالتقاط التي تُعد جزءًا من تناوب (A|B) فقط عندما يتطابق ذلك الفرع من التناوب فعليًا، لذا تُبلَّغ مجموعة من الفرع الذي لم يُستخدم على أنها غير مشاركة، وهذا سلوك قياسي للتعبيرات النمطية وليس خطأً في تطابق معين.
›كيف يفسر وضع الاستبدال نص الاستبدال الخاص بي؟
يستخدم وضع الاستبدال صيغة الاستبدال الخاصة بـ String.replace() في JavaScript نفسها: $1 و$2 وما إلى ذلك تُدرج مجموعة التقاط مرقّمة، و$<name> تُدرج مجموعة مسمّاة، و$& تُدرج التطابق كاملًا، و$$ تُدرج علامة دولار حرفية، تمامًا كما تتصرف في كود JavaScript حقيقي.
›نمطي يتطابق مرة واحدة فقط مع أنني أتوقع عدة تطابقات، لماذا؟
تأكد من تفعيل علم Global (g)؛ بدونه، تعمل قائمة التطابقات ودالة String.replace() فقط على أول تطابق يُعثر عليه، وهو السلوك القياسي للتعبيرات النمطية في JavaScript، لا قيدًا في هذه الأداة.
أدوات ذات صلة
نص
مولد تعبير Cron
أنشئ وحلّل تعبيرات cron باستخدام محرر حقول مباشر، ووصف بلغة بسيطة، وأوقات التشغيل الفعلية الخمسة التالية. يدعم الإعدادات المسبقة واختصارات @ والنوع الاختياري ذو 6 حقول مع الثواني.
Freeنص
أداة شيفرة قيصر
شفّر أو فكّ تشفير النص بشيفرة قيصر الكلاسيكية، مع جدول تعيين A-Z وقائمة قوة غاشمة ومخطط تكرار الحروف واختصار ROT13.
Freeنص
مولد فن ASCII
حوّل النص المكتوب أو الصورة التي تم تحميلها إلى فن ASCII. اختر نمط خط أو تدرج أحرف، واحتفظ باللون، وصدّر كنص عادي أو PNG.
Freeنص
محرر الأسرار والتهيئة
الصق ملف .env أو تهيئة وسيتم تلقائيًا إخفاء مفاتيح API وكلمات المرور والرموز بجانب أسماء المفاتيح الحساسة أو تنسيقات الأسرار المعروفة (AWS، GitHub، Stripe، JWT، PEM). آمن بعد ذلك للصقه في ذكاء اصطناعي للمحادثة أو تقرير خلل.
Freeنص
منشئ سجل DMARC
أنشئ سجل DMARC DNS من حقول بلغة بسيطة، مع إعدادات مسبقة للطرح المرحلي ومؤشر مباشر لمستوى التطبيق.
Freeنص
محول Excel إلى جدول HTML
الصق من Excel أو Google Sheets، أو ارفع ملف .xlsx/.xls/.csv، واحصل على جدول HTML نظيف مع معاينة مباشرة وتنسيق اختياري ومحاذاة الأعمدة الرقمية.
Freeنص
منشئ Hash (MD5/SHA1/SHA256/SHA512)
احسب هاش للنص أو الملف إلى MD5 وSHA-1 وSHA-256 وSHA-384 وSHA-512 وSHA3-256 وSHA3-512 وRIPEMD-160 وCRC32 دفعة واحدة، مع حقل مقارنة للتحقق من مجموع اختباري معروف.
Freeنص
منشئ htpasswd
أنشئ ملف .htpasswd حقيقيًا لـ Apache باستخدام bcrypt أو SHA، تم التحقق منه بايتًا ببايت مقابل أداة سطر الأوامر htpasswd الرسمية، مع دعم عدة مستخدمين في آن واحد.
التعليقات (0)
هل وجدت هذه الأداة مفيدة؟ اترك تعليقًا، أو شارك نصيحة، أو أخبرنا كيف يمكننا تحسينها.
لا توجد تعليقات بعد. كن أول من يشارك رأيه!