شرح صفوف ومحتوى الفقرة
عندما لا تكفي رموز LIKE البسيطة لوصف نمط النص المطلوب، يوفر MySQL 8 محرك التعابير النمطية المتقدم ICU الداعم لترميز Unicode الكامل عبر المعامل REGEXP أو مرادفه RLIKE.
- مطابقة جزئية افتراضياً: خلافاً للمعامل
LIKEالذي يشترط مطابقة كامل النص، ينجح المعاملREGEXPبمجرد العثور على النمط في أي موضع داخل السلسلة النصية. - التخيير والتكرار الكمي: يمكنك استخدام رمز البدائل
|مثل'(error|timeout)'ومحددات التكرار مثل{3,5}و+و?.
كما يوفر MySQL 8 الدالة REGEXP_LIKE(expr, pat, mode) التي تقبل المعامل 'c' لحساسية الأحرف أو 'i' لتجاهل حالة الأحرف.
SQL
-- Match logs containing error or fatal, and filter with NOT REGEXP
SELECT log_id, service_name, message
FROM system_logs
WHERE message REGEXP 'error|timeout|fatal'
AND service_name NOT REGEXP 'test|staging';