دليل المادة
قاعدة بيانات 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!
مشاركة ومثل إذا كنت ترغب في ذلك! مشاركاتك وإعجاباتك هي حافزنا المستمر!