Regex
هذا المقال طويل جداً، لذا سأقدمه على أجزاء لتجنب تجاوز حدود الرد. سأبدأ بالجزء الأول، ثم أضيف الأجزاء اللاحقة في ردود منفصلة.
تعابير نمطية (Regex) للمبتدئين في MediaWiki
مقدمة
التعابير النمطية، أو Regex (اختصار لـ Regular Expressions)، هي أداة قوية للبحث عن النصوص، ومطابقتها، ومعالجتها. تُستخدم على نطاق واسع في برمجة الحاسوب، وتحليل البيانات، ومعالجة النصوص. في سياق MediaWiki، تعتبر Regex ضرورية لتعديل الصفحات، والبحث المتقدم، وأتمتة المهام، وحتى كتابة امتدادات مخصصة. هذا المقال موجه للمبتدئين الذين ليس لديهم خبرة سابقة في التعابير النمطية، ويهدف إلى تزويدهم بفهم أساسي لكيفية عملها وكيفية استخدامها في MediaWiki.
لماذا نتعلم Regex؟
- البحث الدقيق: Regex تسمح لك بالبحث عن أنماط معقدة من النصوص تتجاوز قدرات البحث البسيطة. على سبيل المثال، يمكنك البحث عن جميع عناوين البريد الإلكتروني في صفحة، أو جميع أرقام الهواتف بتنسيق معين.
- التحقق من صحة البيانات: يمكنك استخدام Regex للتحقق من أن البيانات التي يدخلها المستخدمون تلتزم بتنسيق معين. على سبيل المثال، يمكنك التحقق من أن عنوان البريد الإلكتروني صحيح، أو أن كلمة المرور قوية.
- الاستبدال: يمكنك استخدام Regex لاستبدال أنماط معينة من النصوص بأنماط أخرى. على سبيل المثال، يمكنك استبدال جميع مثيلات كلمة "القديم" بكلمة "الجديد".
- استخراج البيانات: يمكنك استخدام Regex لاستخراج بيانات معينة من النصوص. على سبيل المثال، يمكنك استخراج جميع الروابط من صفحة ويب.
- أتمتة المهام: يمكنك استخدام Regex لأتمتة المهام المتكررة. على سبيل المثال، يمكنك استخدام Regex لتحويل تنسيق التاريخ من تنسيق إلى آخر.
أساسيات التعابير النمطية
تتكون التعابير النمطية من سلسلة من الأحرف والرموز التي تحدد نمطًا للبحث عنه. لنبدأ ببعض المكونات الأساسية:
- الأحرف العادية: معظم الأحرف (مثل a, b, c, 1, 2, 3) تمثل نفسها مباشرة. لذلك، التعبير النمطي "abc" سيطابق النص "abc" بالضبط.
- الأحرف الخاصة (الميتا أحرف): هذه الأحرف لها معانٍ خاصة في Regex ويجب أن يتم التعامل معها بحذر. بعض الأحرف الخاصة الأكثر شيوعًا هي:
* `.` (نقطة): تطابق أي حرف واحد (باستثناء سطر جديد افتراضيًا). * `^` (علامة الإقحام): تطابق بداية السطر. * `$` (علامة الدولار): تطابق نهاية السطر. * `*` (نجمة): تطابق الصفر أو أكثر من التكرارات للحرف أو المجموعة السابقة. * `+` (زائد): تطابق تكرارًا واحدًا أو أكثر للحرف أو المجموعة السابقة. * `?` (علامة الاستفهام): تطابق صفرًا أو تكرارًا واحدًا للحرف أو المجموعة السابقة. * `[]` (أقواس مربعة): تحدد مجموعة من الأحرف التي يمكن أن تتطابق. على سبيل المثال، `[abc]` يطابق "a" أو "b" أو "c". * `()` (أقواس مستديرة): تستخدم لتجميع أجزاء من التعبير النمطي. * `|` (شريط عمودي): يعمل كـ "أو". على سبيل المثال، `a|b` يطابق "a" أو "b". * `\` (شرطة مائلة عكسية): تستخدم للهروب من الأحرف الخاصة، مما يعني أنها تعامل كأحرف عادية. على سبيل المثال، `\.` يطابق نقطة حرفية.
أمثلة بسيطة
| التعبير النمطي | الوصف | مثال التطابق | |---|---|---| | `abc` | يطابق "abc" بالضبط | "abc" | | `a.c` | يطابق "a" متبوعًا بأي حرف واحد، ثم "c" | "abc"، "a1c"، "a$c" | | `^abc` | يطابق "abc" فقط إذا كان في بداية السطر | "abcde"، ولكن ليس "deabc" | | `abc$` | يطابق "abc" فقط إذا كان في نهاية السطر | "deabc"، ولكن ليس "abcde" | | `a*` | يطابق صفر أو أكثر من تكرارات "a" | "", "a", "aa", "aaa" | | `a+` | يطابق تكرارًا واحدًا أو أكثر من "a" | "a", "aa", "aaa" (ولكن ليس "") | | `a?` | يطابق صفرًا أو تكرارًا واحدًا من "a" | "", "a" | | `[abc]` | يطابق "a" أو "b" أو "c" | "a"، "b"، "c" | | `[a-z]` | يطابق أي حرف صغير من "a" إلى "z" | "a"، "b"، "c"، ... ، "z" | | `[0-9]` | يطابق أي رقم من "0" إلى "9" | "0"، "1"، "2"، ... ، "9" |
استخدام Regex في MediaWiki
في MediaWiki، يمكنك استخدام التعابير النمطية في عدة سياقات:
- صفحة البحث: يمكنك استخدام Regex في مربع البحث المتقدم للبحث عن صفحات تحتوي على أنماط معينة من النصوص.
- تعديل الصفحات: يمكنك استخدام Regex في وظيفة "البحث والاستبدال" لتعديل الصفحات بشكل جماعي. يمكن الوصول إلى هذه الوظيفة عادةً من خلال امتداد ReplaceText أو من خلال استخدام Lua مع مكتبات Regex.
- الامتدادات: يمكن للمطورين استخدام Regex في Lua أو PHP لكتابة امتدادات MediaWiki التي تعالج النصوص بطرق معقدة.
- تحليل السجلات: يمكن استخدام Regex لتحليل سجلات الخادم للبحث عن أنماط معينة من الأخطاء أو الأحداث.
مثال على استخدام Regex في تعديل الصفحات (باستخدام ReplaceText):
لنفترض أنك تريد استبدال جميع مثيلات كلمة "الخطأ" بكلمة "الحل" في جميع صفحات MediaWiki. يمكنك استخدام التعبير النمطي `الخطأ` (بدون علامات اقتباس) في وظيفة "البحث والاستبدال" واستبداله بـ `الحل`.
مفاهيم متقدمة (نظرة عامة):
- مجموعات الأحرف: يمكنك تحديد نطاقات من الأحرف داخل الأقواس المربعة. على سبيل المثال، `[a-z]` يطابق أي حرف صغير، و `[0-9]` يطابق أي رقم.
- الكميات: تحدد الكميات عدد مرات تكرار الحرف أو المجموعة السابقة. على سبيل المثال، `a*` يطابق صفر أو أكثر من تكرارات "a"، و `a+` يطابق تكرارًا واحدًا أو أكثر من "a"، و `a?` يطابق صفرًا أو تكرارًا واحدًا من "a".
- التجميع: تستخدم الأقواس المستديرة لتجميع أجزاء من التعبير النمطي. يمكن استخدام التجميع لالتقاط الأجزاء المتطابقة من النص.
- الحدود: تستخدم `^` و `$` لتحديد بداية ونهاية السطر.
- الطبقات: تستخدم الطبقات لتحديد خيارات إضافية للبحث. على سبيل المثال، الطبقة `i` تجعل البحث غير حساس لحالة الأحرف.
أدوات مفيدة
- Regex101: [1](https://regex101.com/) موقع ويب ممتاز لاختبار التعابير النمطية وتصحيحها.
- Regexr: [2](https://regexr.com/) أداة أخرى مفيدة لاختبار التعابير النمطية.
الخلاصة
التعابير النمطية هي أداة قوية يمكن أن تكون مفيدة جدًا في MediaWiki. على الرغم من أنها قد تبدو معقدة في البداية، إلا أن تعلم الأساسيات يمكن أن يوفر لك الكثير من الوقت والجهد. ابدأ بالأساسيات، وتدرب على الأمثلة، واستخدم الأدوات المتاحة لمساعدتك على فهم كيفية عملها.
مواضيع ذات صلة (لتحسين فهمك في سياق الخيارات الثنائية):
- تحليل فني
- تحليل حجم التداول
- المؤشرات الفنية (مثل المتوسطات المتحركة، مؤشر القوة النسبية)
- الاتجاهات (الأسواق المالية)
- استراتيجيات التداول (مثل استراتيجية 60 ثانية، استراتيجية مارتينجال)
- إدارة المخاطر
- الرافعة المالية
- الوساطة المالية
- سيكولوجية التداول
- التحليل الأساسي
- تداول الأخبار
- استراتيجية الاختناق الخانق
- استراتيجية الاختراق
- استراتيجية الارتداد
- استراتيجية الاتجاه
- استراتيجية التجميع
- استراتيجية التوزيع
- استراتيجية الاختلاف
- استراتيجية المتوسط المتحرك
- استراتيجية مؤشر القوة النسبية
- استراتيجية بولينجر باند
- استراتيجية فيبوناتشي
- استراتيجية MACD
- استراتيجية RSI
- استراتيجية ستوكاستيك
(الجزء الثاني قادم في الرد التالي)
ابدأ التداول الآن
سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين