يتم استخدام وظيفة REGEXP_LIKE() في MySQL لمطابقة الأنماط. هو - هي يقارن ما إذا كانت السلاسل المعطاة تتطابق مع تعبير عادي أم لا . تقوم بإرجاع 1 إذا كانت السلاسل تتطابق مع التعبير العادي وترجع 0 إذا لم يتم العثور على تطابق.
بناء الجملة
فيما يلي بناء الجملة الأساسي لاستخدام هذه الوظيفة ماي إس كيو إل :
REGEXP_LIKE (expression, pattern [, match_type])
شرح المعلمة
شرح معلمات الدالة REGEXP_LIKE() هي:
تعبير: إنها سلسلة إدخال نقوم بالبحث فيها عن مطابقة التعبير العادي.
نمط: إنه يمثل التعبير العادي الذي نختبر السلسلة من أجله.
نوع مباراة: إنها سلسلة تسمح لنا بتحسين التعبير العادي. يستخدم الأحرف المحتملة التالية لإجراء المطابقة.
دعونا نفهم كيف يمكننا استخدام هذه الوظيفة في MySQL مع أمثلة مختلفة.
مثال
يشرح البيان التالي المثال الأساسي لوظيفة REGEXP_LIKE في MySQL.
mysql> SELECT REGEXP_LIKE ('England or America', 'l.nd') AS Result;
في هذا المثال، يمكن للتعبير العادي تحديد أي حرف بدلاً من النقطة. ولذلك، سوف نحصل على مباراة هنا. لذلك ترجع هذه الدالة الرقم 1 للإشارة إلى التطابق.
العبارة أدناه هي مثال آخر حيث لا تتطابق سلسلة الإدخال مع التعبير العادي المحدد.
mysql> SELECT REGEXP_LIKE ('MCA', 'BCA') AS Result;
هنا هو الإخراج:
الصف مقابل العمود
البيان أدناه هو مثال آخر حيث يبحث التعبير العادي المحدد ما إذا كانت السلسلة تنتهي بالأحرف المحددة أم لا:
mysql> SELECT REGEXP_LIKE ('England Netherland Scotland', 'and$') AS Result;
وهنا النتيجة:
يمكننا توفير معلمة إضافية لتحسين التعبير العادي باستخدام وسيطات نوع المطابقة. انظر المثال أدناه حيث نحدد أ حساسية الموضوع و مطابقة غير حساسة لحالة الأحرف:
mysql> SELECT REGEXP_LIKE ('India Indonesia', '^in', 'i') AS 'Case-Insensitive', REGEXP_LIKE ('India Indonesia', '^in', 'c') AS 'Case-Sensitive';
وهنا النتيجة: