مختبر Regex

اختبر التعبيرات العادية مقابل النص وشاهد جميع التطابقات المميزة. ضروري للمطورين الذين يعملون مع مطابقة الأنماط أو التحقق من صحة البيانات أو معالجة النصوص. قم بتصحيح وتنقيح أنماط regex الخاصة بك في الوقت الفعلي من خلال ملاحظات مرئية توضح بالضبط ما يطابق تعبيرك.

الأسئلة المتداولة

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

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

العلامات الأكثر شيوعًا هي: "g" (عام) لإيجاد جميع التطابقات بدلًا من الأولى فقط، و"i" (غير حساس لحالة الأحرف) يتجاهل الاختلافات بين الأحرف الكبيرة والصغيرة، و"m" (متعدد الأسطر) يجعل ^ و$ يطابقان بداية/نهاية السطر بدلًا من بداية/نهاية السلسلة فقط، و"s" (نقطي) يجعل . اجمع بين العلامات مثل 'gi' للمطابقة العامة غير الحساسة لحالة الأحرف.

بالنسبة للبريد الإلكتروني: جرّب /^[a-zA-ZA-0.9._%+-] +@[a-zA-Z0-0-9.-] +\.[a-zA-Z]{2,}$/ للتحقق الأساسي. بالنسبة لعناوين URL: /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/ works for most cases. لاحظ أن التحقق المثالي من صحة البريد الإلكتروني/عنوان URL معقد للغاية - هذه الأنماط تتعامل مع معظم الحالات الشائعة.

النقطة (.) تطابق أي حرف. العلامة النجمية (*) تعني "صفر أو أكثر" بينما علامة النجمة (+) تعني "مرة أو أكثر". لذا فإن .* تطابق صفرًا أو أكثر من أي حرف (بما في ذلك مطابقة لا شيء)، بينما تتطلب علامة النجمة (+) حرفًا واحدًا على الأقل لمطابقة أي حرف. على سبيل المثال، 'a.*b' يطابق 'ab' أو 'a123b'، لكن 'a.+b' يطابق فقط 'a123b'.

بشكل افتراضي، تكون المحددات الكمية مثل * و+ و {n,m} جشعة - فهي تتطابق قدر الإمكان. أضف علامة استفهام (؟) بعد المحدِّد الكمي لجعلها غير جشعة (كسولة)، فتطابق أقل قدر ممكن. على سبيل المثال، في النص "<div> مرحبًا</div></div></div>، يطابق /<div>.*<\\/div>/ السلسلة بأكملها (جشع)، بينما يطابق /<div>.*?<\/div>/ كل علامة على حدة (غير جشع).

تستخدم مجموعات الالتقاط الأقواس () لاستخراج أجزاء محددة من التطابق. على سبيل المثال، يلتقط /user-(\d+)/ المستخدم-(\d)/ معرف المستخدم الرقمي. يمكن الوصول إلى القيمة الملتقطة في معظم اللغات باستخدام مجموعات المطابقة. استخدم (?::...) للمجموعات غير الملتقطة عندما تحتاج إلى تجميع للمحددات الكمية ولكنك لا تريد التقاط القيمة.

الصق عينة من إدخالات السجل في منطقة سلسلة الاختبار وأنشئ أنماطًا لاستخراج الطوابع الزمنية أو عناوين IP أو رموز الحالة أو رسائل الخطأ. يُظهر التظليل المرئي ما يتطابق بالضبط، مما يساعدك على تنقيح الأنماط قبل نشرها في أدوات تحليل السجل مثل Logstash أو Splunk أو البرامج النصية المخصصة.

تطابق النماذج (?= =...) و Lookbehinds (?<=...) تؤكد وجود نمط متقدم أو متأخر دون تضمينه في المطابقة. على سبيل المثال، / \\d+(?= = دولارات)/ تطابق الأرقام متبوعة بـ "دولارات" ولكنها تلتقط الرقم فقط. تؤكد علامات البحث السالبة (?؟!...) وعلامات البحث السالبة (?<!...) على عدم وجود النمط.

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