This pattern has 2 capturing groups with 2 flags (gi) and is broken down into 14 parts below.
Flags
gglobal - find all matches in the input, not just the first oneiignore case - letters match regardless of upper or lower case^Start-of-string anchor (or start of a line with the m flag)(?<user>Start of a named capturing group "user" - saves its match under that name[a-z0-9._%+-]A single character from the set: the range "a" to "z", the range "0" to "9", the character ".", the character "_", the character "%", the character "+", the character "-"+Repeated one or more times)End of the group@A literal "@" character(?<domain>Start of a named capturing group "domain" - saves its match under that name[a-z0-9.-]A single character from the set: the range "a" to "z", the range "0" to "9", the character ".", the character "-"+Repeated one or more times\.A literal "." character (the backslash removes its special meaning)[a-z]A single character from the set: the range "a" to "z"{2,}Repeated 2 or more times)End of the group$End-of-string anchor (or end of a line with the m flag)
يأخذ شرح regex تعبيرًا عاديًا ويترجمه إلى لغة إنجليزية بسيطة ، بنية واحدة في كل مرة. بدلاً من التحديق في خط كثيف مثل ^ (؟ <user> [a-z0-9._٪ + -] +) @ ... تحصل على تفصيل مسمى: هذا الجزء هو مرساة ، هذه مجموعة التقاط مسماة ، فئة الحرف هذه تعني "حرف صغير ، رقم ، نقطة ، أو واصلة" ، وهذا المحدد الكمي يعني "مرة واحدة أو أكثر". يحول جدار الرموز إلى قائمة مرجعية يمكنك قراءتها.
التعبيرات العادية مضغوطة حسب التصميم ، مما يجعلها قوية ولكن يصعب مراجعتها. يمكن كتابة نفس النمط بطرق عديدة ، ويغير مائل للخلف أو محدد كمي جشع المعنى تمامًا. قراءة regex غير مألوف - في مراجعة التعليمات البرمجية ، أو ملف تكوين قديم ، أو إجابة تجاوز المكدس - تعني عادةً محاكاة المحرك عقليًا. تقوم هذه الأداة بهذه المحاكاة نيابة عنك وتظهر النتيجة كقائمة مرتبة ومحددة تعكس بنية النمط ، بما في ذلك المجموعات المتداخلة والبحث.
كل شيء يعمل من جانب العميل على نفس محرك JavaScript Regexp الذي يستخدمه الكود الخاص بك ، لذا فإن سلوك العلم والصلاحية التي تراها هنا تتطابق مع الإنتاج. لا يتم تحميل النمط الخاص بك مطلقًا ، ولا يتم تسجيل أي شيء ، وتستمر الأداة في العمل دون اتصال بمجرد تحميل الصفحة. هذا مهم عندما يأتي regex الذي تحاول فهمه من قاعدة شفرة خاصة أو يطابق تنسيقات البيانات الحساسة.
يخبرك الشرح بما يقوله النمط ، وليس ما إذا كان النمط الصحيح لبياناتك - للتحقق من ذلك ، قم بتشغيله مقابل مدخلات حقيقية في اختبار regex. نظرًا لأنه يتم تجميعه باستخدام محرك المتصفح الخاص ، فإن التركيبات الموجودة في PCRE ولكن ليس في ECMAScript تتصرف بطريقتين مختلفتين. يتم رفض المحددات الكمية مثل A ++ والمجموعات الذرية (؟> ...) والعودة (؟ R) تمامًا ، مع رسالة المحرك الخاصة. الحالة الأكثر رقة هي \ a و \ z: بدون علامة U ، تعاملها جافا سكريبت مع هروب الهوية ، لذلك يتم شرح نمط منسوخ من php أو python على أنه مطابقة حرفي a أو z بدلاً من حد السلسلة ، ولا يتم رفع أي خطأ. يتم وصف المحددات الكمية المتداخلة مثل (A +) + بشكل طبيعي أيضًا ؛ التراجع الكارثي هو خاصية وقت تشغيل للإدخال ، وليس شيئًا مرئيًا في الهيكل.
أدخل النمط بدون الشرطة المائلة المحيطة - فقط التعبير نفسه. انقر فوق "تحميل" للبدء من مثال عملي لمطابقة البريد الإلكتروني.
تبديل الأعلام التي يستخدمها النمط (G ، I ، M ، S ، U ، Y ، D). يُبلغ الشرح ما يفعله كل علم ويتحقق من صحة النمط مقابل مجموعة العلم هذه.
يتم سرد كل رمز مميز بالترتيب مع وصف لغة إنجليزية عادية. يتم وضع مسافة بادئة للمجموعات المتداخلة بحيث يكون هيكل النمط مرئيًا في لمحة.
انسخ تفصيل النص الكامل للنص إلى لصقه في تعليق رمز أو ملاحظة طلب سحب أو وثائق حتى لا يضطر القارئ التالي إلى فك تشفيرها.
كل مرساة وفئة شخصية ومحدد كمي ومجموعة وهروب تحصل على خط خاص بها مع وصف ، بالترتيب الذي يقرأه المحرك
يتم تسمية المجموعات المختارة ، وعدم التقاطها ، والمسمى ، وجميع أنواع البحث الأربعة وتحديد مسافة بادئة بحيث يسهل متابعة الهيكل المتداخل
يتم وصف كل من أعلام G و I و M و S و U و Y و D في السياق ، لذا فأنت تفهم كيف يغيرون المطابقة بأكملها ، وليس فقط بناء الجملة
يتم التحقق من صحة الأنماط باستخدام محرك Regexp الأصلي للمتصفح ، لذلك يتم اكتشاف تعبير غير صالح مع الخطأ الدقيق قبل الاعتماد عليه
Extract email addresses, URLs, phone numbers, and IPv4 addresses from any block of text. De-duplicate, sort, and copy the results. Runs client-side.
Find and replace text with a regular expression, using capture group backreferences like $1 and named groups, with full flag support
Test regular expressions against sample text with live match highlighting, capture groups, and full flag support
Build, test, and debug regular expressions with real-time matching and a comprehensive cheatsheet
0 comments
No comments yet. Be the first to share your thoughts!