مُختبر عبارات الـ Regex، وورقة ملخص، ومُحول — انتهِ التخمين، وابدأ بالتوافق

نُشرت في

تُعدّ التعبيرات المنتهية بالحروف قوية لكنها صعبة جدًا للتحقق من صحتها. تُسهم أداة مُختارة مجانًا في جعلها سهلة الاستخدام: مُختبر حي مع توضيحات للتوافق، دليل مُختصر للبحث عن القواعد، ومحول يُمكنه التحويل بين أنواع التعبيرات المنتهية بالحروف.

مُختبر عبارات النمط، وورقة ملخصات، ومُحول - توقف عن التخمين، وابدأ بالتوافق 1
إعلان · حذف؟

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

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

لماذا يظل نمط التنسيق مهمًا (وأيضاً لماذا يُسبب ألمًا)

يُعدّ مقارنة النماذج مهارة أساسية للمساهمين في الخلفية، مهندسي الجودة، ومهندسي البيانات. يمكن أن يُستبدل نمط واحد مُصمم جيدًا بعشرات السطور من كود تحليل النصوص. المشكلة ليست المفهوم - بل هي السمة. كل من المُتسلسلات، المُراقبات، المجموعات المُستخرجة، وفئات الأحرف تحمل خصائصها الخاصة. أضف الفروق بين اللغات (النماذج في بايثون والجافا سكربت أصدقاء، لكنهم ليسوا أخوة) وتصبح عملية التصحيح لعبة تخمين.

العملية التي يتبعها معظم المطورين: كتابة نمط، لصقه في سكربت، تشغيل السكربت، تفكير في الوضع، تكرار. هناك طريقة أسرع.

الأداة 1 - مُختبر نمط التنسيق: رؤية النماذج أثناء الكتابة

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

إليك توضيحًا باستخدام التحقق من بريد إلكتروني:

  • النمط: [a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}
  • النص المُختبر: Contact us at hello@example.com or support@iotools.cloud for help.

أدخل النمط إلى مُختبر النمط، أضف النص المُختبر، وستظهر العناوين البريدية فورًا. تغيّر {2,} ل {2,4} وأنت ترى أن الأطوال المُمتدة مثل .studio تُزال من مجموعة النماذج في الوقت الحقيقي - دون إعادة تحميل، دون تخمين.

المجموعات المُستخرجة تظهر فورًا أيضًا. أضف قوسين حول الجزء المحلي -([a-zA-Z0-9._%+\-]+)@- وستظهر المجموعة 1 في لوحة النماذج، مما يُظهر فقط جزء الاسم. هذا يجعل بناء منطق التصنيف أسهل لأنك ترى ما يُستخرج من كل مجموعة قبل أن تُدخلها في الكود.

يُظهر المُختبر أيضًا الأعلام (غير حساس للحروف i، عالمي g، متعدد الأسطر m) كمُتغيرات قابلة للإيقاف، بحيث يمكنك اختبار تأثير كل علامة دون إعادة كتابة النمط.

الأداة 2 - مُلخص نمط التنسيق: مراجعة السمة دون التبديل بين الأزرار

حتى المطورين المُتمرسين ينسون ما إذا كان  مُحددًا للحدود أو مُستخدمًا كمُحذف. يُنظم مُلخص نمط التنسيق حسب الفئات، بحيث يمكنك العودة إلى العمل في ثوانٍ: الأسس: (البداية)،

  • (النهاية)، ^ (الحدود الكلمة)، $ (الحدود غير الكلمة)  المُتسلسلات: \B (0 أو 1)،
  • (مدى)، * (0+), + (1+), ? بعد المُتسلسلة للتناسب البطيء {n,m} وأيضًا نسخها ? المجموعات:
  • فئات الأحرف: [abc], [^abc], \d, \w, \s مُستخرجة،
  • غير مُستخرجة، (...) مُسمّاة (?:...) المراقبات / المراقبات السابقة: (?P<name>...) يُعرض كل مدخل برمزه، ووصف بسيط باللغة الإنجليزية، ومثال. إنه المرجع الذي كنت ستركبه في اليوم الأول إذا عرفت أنك ستحتاج إليه - الآن أصبحت تمتلكه.
  • الأداة 3 - مُحول نمط التنسيق: التحويل بين اللغات دون التوتر (?=...), (?!...), (?<=...), (?<!...)

هناك فخ يقع فيه كل مطور في النهاية: تكتب نمطًا في بايثون، يعمل بشكل مثالي، ثم تضعه في جافا سكربت وتتعرض لفشل سكوت. أو أسوأ من ذلك - يُطابق شيئًا مختلفًا.

مُحول نمط التنسيق

يُحول النماذج بين نماذج PCRE، جافا سكربت، بايثون، وغيرها. المجموعات المُسمّاة هي مثال واضح على الفروق في السمة:

ال بايثون (نوع PCRE): تُطابق كلاهما تاريخًا مثل

  • ، لكن طريقة الإشارة إلى المجموعة المُستخرجة تختلف: بايثون تستخدم (?P<year>\d{4})-(?P<month>\d{2})
  • جافاسكريبت: (?<year>\d{4})-(?<month>\d{2})

، بينما تستخدم جافا سكربت 2024-03. يُعالج المُحول التحويل السمة بحيث لا تبحث في الوثائق لفهم لماذا فشل نمطك عند نقل المكدسات. match.group('year')يُخفف المُحول أيضًا الفروق الأخرى: المُتسلسلات المُمتلئة (متوفرة فقط في PCRE)، المجموعات الذاتية، تسلسلات الخصائص، وسلوك match.groups.yearفي وضع Unicode.

أمثلة عملية على نمط التنسيق الثلاثة التي يمكنك تجربتها الآن \d أدخل هذه في

وتجربها:

التحقق من بريد إلكتروني Pruebas de Regex يُحقق من عناوين البريد الإلكتروني القياسية. ليس مُكتملًا وفقًا لـ RFC 5322 (يصل هذا النمط إلى آلاف الأحرف)، لكنه يغطي حالة 99% للتحقق من المدخلات.

استخراج الروابط

[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}

يُستخرج الروابط HTTP وHTTPS من النص غير المُنظم. مفيد للحصول على أهداف الروابط من محتوى غير مُنظم أو سجلات.

تحليل سجلات Apache

https?://[^\s/$.?#].[^\s]*

يُستخرج عنوان IP، وقت التسجيل، طريقة HTTP، المسار، رمز الحالة، وحجم الاستجابة من سطر معياري في سجلات Apache. اختبره على:

مُختبر نمط التنسيق، مُلخص نمط التنسيق، ومُحول نمط التنسيق - اترك التخمين، ابدأ بالتناسب 2

^(\S+) \S+ \S+ \[([^\]]+)\] "(\S+) (\S+) \S+" (\d{3}) (\d+)

مُختبر نمط التنسيق، مُلخص نمط التنسيق، ومُحول نمط التنسيق - اترك التخمين، ابدأ بالتناسب 1 192.168.1.1 - - [01/May/2024:12:00:00 +0000] "GET /index.html HTTP/1.1" 200 1234

هل تريد حذف الإعلانات؟ تخلص من الإعلانات اليوم

تثبيت ملحقاتنا

أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع

أضف لـ إضافة كروم أضف لـ امتداد الحافة أضف لـ إضافة فايرفوكس أضف لـ ملحق الأوبرا

وصلت لوحة النتائج!

لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!

إعلان · حذف؟
إعلان · حذف؟
إعلان · حذف؟

ركن الأخبار مع أبرز التقنيات

شارك

ساعدنا على الاستمرار في تقديم أدوات مجانية قيمة

اشتري لي قهوة
إعلان · حذف؟