مرحبًا بعودتك.
حتى الآن ، وجدنا فقط أنماطًا بسيطة.
أنماط نصية بسيطة في سلسلتنا.
لا شيء مجنون جدا.
لكن ما تصبح التعبيرات النمطية مفيدة حقًا هو الأنماط المتقدمة.
كما ترى ، باستخدام التعبيرات العادية ، يمكنك عمل بعض الأنماط المجنونة مثل دعنا نقول هذا وهذا يبدو وكأنه
رطانة كاملة ، أليس كذلك؟
لكن هذا يعني شيئًا ما في التعبير النمطي.
يمكنك التفكير في التعبير العادي كلغة كاملة في حد ذاته مع أنماط مختلفة
تستخدمها للعثور على أنماط داخل النص.
الآن ، عالم التعبير النمطي بأكمله معقد حقًا.
بصفتي مبرمجًا ، لا أتوقع منك أن تتعلم كل هذه الأنماط.
يمكنك رؤية بعضها هنا.
لدينا تسلسلات خاصة تعني أن شيئًا مثل Slash DD يعيد تطابق حيث تحتوي السلسلة على
عدد من الأرقام من 0 إلى 9.
لديك أشياء مثل المجموعات هنا حيث إذا قمت بكتابة تعبير عادي ، فإنه يُرجع
تطابقًا لأي أحرف أبجديًا بين A و Z ، سواء كانت صغيرة أو كبيرة.
إذاً ، هناك كل هذه الاختصارات والحيل الصغيرة التي يمكنهم كتابتها في تعبير عادي.
ويمكن أن تصبح الأمور معقدة حقًا.
لذلك لا أحد يحفظ هذه الأشياء في الواقع.
تقوم بتطويرها حسب الحاجة.
وفي واقع الأمر ، لاحقًا في مقاطع الفيديو ، سنقوم بتمرين حيث سنقوم بالفعل بتجربة هذا وإنشاء مدقق
كلمة المرور ومدقق البريد الإلكتروني.
الآن ، إحدى الأدوات التي أحبها حقًا تسمى RegEx 101.
إنه مفيد للغاية.
كل ما عليك فعله هو اختيار Python وسيمنحك تعبيرات عادية وأرض اختبار لتختبرها.
على سبيل المثال ، إذا كتبت شيئًا مثل ، مرحبًا ، كيف حالك؟
يمكنني الآن إدخال تعبير عادي هنا وتجربة الأشياء.
لذلك ، على سبيل المثال ، إذا كتبت مرحبًا.
كيف حالك؟
همم.
حسنًا ، هذا لا يعمل حقًا.
ربما يمكنني إضافة بعض الاقتباسات هنا.
لكن لا.
وهو يمنحك في الواقع بعض الخيارات والمعلومات حول ما يمكنك استخدامه.
لذلك ، على سبيل المثال ، لنفترض أننا أردنا التحقق مما إذا كان.
حسنًا ، هنا ، حرف في النطاق من A إلى Z أو A إلى Z.
إذا قمت بنسخ هذا.
وألصقها.
انظر الى.
يعطيني المباريات الكاملة التي أملكها.
في هذه الحالة ، أقوم بالتحقق لمعرفة ، هل يتطابق مع أي حرف بين الألف إلى الياء؟
كل من الأحرف الصغيرة والكبيرة.
كل شيء يتطابق الآن.
ترى هنا أن لدينا تطابق واحد ، تطابق اثنين ، تطابق ثلاثة ، وهكذا دواليك.
يمكنني أيضًا تجميع الأشياء حتى أتمكن من وضع أقواس هنا.
والآن هذه هي المجموعة الأولى التي تلتقط الصور.
وبعد ذلك يمكنني أن أفعل شيئًا آخر هنا.
دعنا نقول هنا أريد دعنا نقول أي شيء هو.
إذن ماذا يعني ذلك هنا؟
حسنًا ، لدي شرح على الجانب الأيمن.
تقول مجموعة الالتقاط الأولى ، مرحبًا ، تطابق حرفًا واحدًا موجودًا في القائمة أدناه.
لذلك يخبرك من الألف إلى الياء.
رأس المال من A إلى Z.
ثم مجموعة الالتقاط الثانية هي مهلاً ، تطابق حرفًا واحدًا موجودًا في القائمة أدناه
، وهو ملف.
الآن هنا ، لدي مجموعتان من التقاط الصور.
إذن المجموعة الأولى ثم المجموعة الثانية.
إذا أضفت نقطة هنا ، وهي معنى خاص وتعبير عادي ، إذا قمت بالمرور فوقها سترى
أنها تتطابق مع أي حرف باستثناء محارف السطر.
إذن ماذا أفعل هنا؟
حسنًا ، أنا أول من أمتلك.
مرحبًا ، أريدك أن تتحقق من مجموعة الالتقاط الأولى ، وهي أي حرف واحد في النطاق بين
الألف إلى الياء.
وبعد ذلك ، أريد أي شخصية.
وبعد ذلك ، أريدك أن تبحث جيدًا عن أي تطابقات لـ.
لذلك هذا ما نطابقه.
قد نطابق W لأننا نبحث عن أي حرف ثم مسافة أو أي حرف ثم حرف
A.
إذن لدينا الآن تطابق كامل وهو w2a ثم لدينا المجموعة الأولى.
وهو w لأنه يطابق المجموعة الأولى ثم المجموعة الثانية ، والتي تطابق المجموعة A.
الآن أنا أعلم أن هذا محير.
التعبيرات العادية هي إحدى تلك الأشياء التي يصعب حقًا اكتشافها في البداية.
لذا اسمحوا لي أن أريكم كيف يمكننا استخدامه.
إذا ذهبت إلى منشئ الكود هنا ، فسترى أنه يمكنني في الواقع ، حسنًا ، أن أعطيك عينة من التعليمات البرمجية التي يمكنك استخدامها
في بايثون.
لكن ما أحب فعله هو في الواقع نسخ هذا النص.
مثله.
ونعود إلى محرر الكود الخاص بنا وفي الترجمة.
الصقها.
ستلاحظ الآن أن هناك R هنا و R تعني سلسلة خام ، لأنه في Python ، شيء مثل الشرطة المائلة
العكسية المائلة له معنى خاص.
لأن تذكر أنه باستخدام الشرطة المائلة للخلف ، يمكننا القيام بأشياء خاصة مثل سطر جديد أو علامة تبويب جديدة.
يقول R ، مرحبًا ، هذا خيط خام.
تجاهل كل ما قد يفسره مترجم بايثون.
أريد أن يكون هذا مجرد سلسلة نقية ، لذا سترى هذا كثيرًا بتعبيرات منتظمة.
الآن ، إذا قمت بتشغيل هذا الرمز.
ترى أن لدي ACA هنا.
مرة أخرى ، هذا لأنني أبحث عن ملف.
الحرف متبوعًا بأي شيء متبوعًا بـ a.
وإذا كانت لدي مجموعة هنا ، والتي أبحث فيها ، إذا كنت لدي مجموعة واحدة.
أحصل على s إذا فعلت مجموعة.
أحصل على مثل ما فعلناه في ملعبنا هنا.
شيء مفيد آخر هنا.
إذا نظرت إلى المرجع السريع ، يمكنك بالفعل البحث عن الأشياء.
لنفترض أنني أردت التحقق مما إذا كانت سلسلة الاختبار قد بدأت بـ.
لذا يمكنني الكتابة في البداية هنا ويمكنك أن ترى هنا أنه يعطيني مرجعًا سريعًا.
لذلك إذا بدأت السلسلة ، فستظهر لي ، مهلاً ، استخدم هذه الشخصية وستساعدك في إنشاء سلسلة بدء التشغيل.
لذا إذا فعلت ذلك ، دعنا نقول هنا هذه الجزرة ونقول ، مرحبًا ، انظر إلى ذلك ، إنه يناسبني.
لذلك تقول ، مهلا ، تأكيد الموقف في بداية السطر.
يشرح هنا بالضبط كيف يعمل ويخبرني أن لدي مباراة كاملة هنا.
الآن ، في معظم الأوقات ، الطريقة التي ستستخدم بها التعبيرات النمطية ليست هكذا.
سيكون الأمر صعبًا جدًا إذا كنت تكتشف كل شيء بنفسك.
كما قلت ، لا أحد يحفظ هذه الأشياء حقًا.
يمكنك أن ترى أن لدينا مراجع سريعة مع رموز مشتركة يمكنك الاطلاع عليها وفهمها.
لكن الطريقة الأكثر عملية للتعلم الفعلي عن التعبيرات العادية هي رؤية حالة استخدام واقعية.
الآن سأترك لك بعض التمارين التي يمكنك القيام بها إذا كنت تريد التعرف
على بعض الأنماط الشائعة من تجربتي.
هذا ليس شيئًا سيسألك عنه أي شخص في مقابلة.
لست مضطرًا حقًا إلى حفظ التعبيرات العادية.
أنت فقط بحاجة إلى معرفة ما يفعلونه.
لذا جرب التمارين إذا أردت.
بخلاف ذلك ، سأراك في الفيديو التالي لأوضح لك بالضبط كيف ستستخدم التعبيرات العادية في سيناريو
الحياة الواقعية.
سأراك في ذلك.
مع السلامة.