Latest web development tutorials

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

في الجزء السابق تعلمنا من خلال الخلية مثل ...٪ لمطابقة غامض.

كما يدعم الخلية الأخرى مطابقة التعبير العادية، الخلية مشغل REGEXP استخدام مطابقة التعبير العادية.

إذا كنت تعرف PHP أو بيرل، ثم وهذه العملية بسيطة للغاية، لأن الخلية العادية التعبير مطابقة مماثلة لهذه النصوص.

في الجدول أدناه الوضع العادي يمكن استخدامه في المشغل REGEXP.

طريقة وصف
^ يتطابق مع بداية السلسلة. إذا قمت بتعيين الخاصية متعدد الأسطر كائن RegExp، ^ أيضا مباريات '\ ن' موقف أو '\ ص "بعد.
$ تطابق نهاية المدخلات من السلسلة. إذا قمت بتعيين متعدد الأسطر الكائن التعبير العادي الممتلكات، وكذلك مطابقة $ موقف '\ ص' '\ ن' أو قبل ذلك.
. يطابق أي حرف واحد باستثناء "\ ن" هو. لتتناسب بما في ذلك '\ ن'، بما في ذلك أية حروف، مثل استخدام "[. \ N] 'واسطة.
[...] مجموعة من الأحرف. مباريات تضمن أي حرف. على سبيل المثال، '[ABC]' مباريات "سهل" في "أ".
[^ ...] مجموعة الطابع السلبي. يتطابق مع أي حرف لم يتم تضمين. على سبيل المثال، '[^ اي بي سي]' مباريات "سهل" في 'ع'.
P1 | P2 | P3 مباراة P1، P2، P3 أو. على سبيل المثال، 'ض | الغذائية "يمكن أن تتطابق مع" Z "أو" المواد الغذائية ". سوف | '(Z و) العود "تطابق" zood "أو" المواد الغذائية ".
* المباريات السابقة التعبير الجزئي الصفر مرات أو أكثر. على سبيل المثال، زوي * يمكن أن تتطابق مع "ض" و "حديقة الحيوان". * أي ما يعادل {0،}.
+ المباريات السابقة التعبير الجزئي واحد أو أكثر من مرة. على سبيل المثال، 'زوي + "ستكون مباراة" زوي "و" حديقة الحيوان "، ولكن لا يمكن أن تتطابق مع" ض ". + هل ما يعادل {1}.
{N} ن هو عدد صحيح غير سالب. مطابقة الأوقات ن تحديدها. على سبيل المثال، 'س {2}' لا يطابق "بوب" في 'س'، ولكن يمكن أن تتطابق مع "الغذاء" في اثنين من س.
{N، م} م ون أعداد صحيحة غير سالبة، حيث n <= م. مباراة على الأقل n مرة وترقى إلى العصور م.

أمثلة

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

البحث عن اسم حقل البيانات الى بداية "شارع" مع:

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

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

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

البحث حقل الاسم يحتوي على سلاسل جميع البيانات 'مارس':

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

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

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