كيف تتطابق التعبيرات العادية في قاعدة بيانات MySQL؟ MySQL regexp مثل الاستخدام

قاعدة بيانات MySQLكيف يتطابق التعبير العادي؟MySQL regexp مثل الاستخدام

تعابير MySQL العادية

رأينا في الفصول السابقة أن MySQL يمكن أن تكون كذلك مثل...٪ للمطابقة الغامضة.

تدعم MySQL أيضًا مطابقة التعبيرات النمطية الأخرى ، حيث يتم استخدام عامل التشغيل REGEXP في MySQL لمطابقة التعبيرات العادية.

إذا كنت تعرف PHP أو Perl ، فسيكون ذلك واضحًا جدًا ، حيث أن مطابقة التعبير العادي في MySQL تشبه تلك الموجودة في هذه البرامج النصية.

يمكن تطبيق الأنماط العادية في الجدول التالي على مشغل REGEXP.

طريقة描述
^يطابق بداية سلسلة الإدخال.يطابق ^ أيضًا الموضع بعد '\ n' أو '\ r' إذا تم تعيين الخاصية Multiline لكائن RegExp.
$يطابق نهاية سلسلة الإدخال.إذا تم تعيين الخاصية Multiline لكائن RegExp ، فإن $ يطابق أيضًا الموضع قبل '\ n' أو '\ r'.
.يطابق أي حرف واحد باستثناء "\ n".لمطابقة أي حرف يتضمن "\ n" ، استخدم نمطًا مثل "[. \ n]".
[...]مجموعة من الشخصيات.يتطابق مع أي من الأحرف المضمنة.على سبيل المثال ، "[abc]" سيطابق "plai"أ" في ن ".
[^…]مجموعة الأحرف السلبية.يطابق أي حرف غير وارد.على سبيل المثال ، '[^ abc]' سيطابق 'p' في كلمة "عادي".
ص 1 | ص 2 | ص 3يطابق p1 أو p2 أو p3.على سبيل المثال ، يتطابق "z | food" مع "z" أو "food". '(z | f) ood' يطابق "zood" أو "food".
*يطابق التعبير الفرعي السابق صفرًا أو أكثر من المرات.على سبيل المثال ، zo * سيطابق "z" وكذلك "zoo". * يعادل {0،}.
+يطابق التعبير الفرعي السابق مرة واحدة أو أكثر.على سبيل المثال ، "zo +" سيطابق "zo" و "zoo" ، لكن ليس "z". + يعادل {1،}.
{ن}n عدد صحيح غير سالب.يطابق عدد مرات n بالضبط.على سبيل المثال ، "o {2}" لا يطابق "o" في "Bob" ، لكنه سيطابق كلا الحرفين o في "food".
{ن ، م}كل من m و n أعداد صحيحة غير سالبة ، حيث n <= m.يتطابق على الأقل n من المرات وفي أغلب الأحيان m.

مثال

بعد فهم المتطلبات العادية المذكورة أعلاه ، يمكننا كتابة جمل SQL مع التعبيرات العادية وفقًا لمتطلباتنا الخاصة.فيما يلي سنقوم بإدراج بعض الأمثلة الصغيرة (اسم الجدول: person_tbl) لتعميق فهمنا:

ابحث عن جميع البيانات التي تبدأ بـ "st" في حقل الاسم:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

ابحث عن جميع البيانات التي تنتهي بـ "موافق" في حقل الاسم:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

ابحث عن جميع البيانات التي تحتوي على سلسلة "mar" في حقل الاسم:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

ابحث عن جميع البيانات في حقل الاسم الذي يبدأ بحرف متحرك أو ينتهي بالسلسلة "موافق":

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

مدونة Hope Chen Weiliang ( https://www.chenweiliang.com/ ) شارك "كيف تطابق التعبيرات العادية في قاعدة بيانات MySQL؟ MySQL regexp like Usage "سوف يساعدك.

مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-492.html

لاكتشاف المزيد من الحيل المخفية🔑، مرحبًا بك في الانضمام إلى قناتنا على Telegram!

مشاركة ومثل إذا كنت ترغب في ذلك! مشاركاتك وإعجاباتك هي حافزنا المستمر!

 

发表 评论

لن يتم نشر عنوان بريدك الإلكتروني. 必填 项 已 用 * 标注

انتقل إلى الأعلى