Regexps در MySQL – راهنمای جامع


در بخشهای قبلی این سلسله مطالب آموزشی با ساختار % ... LIKE درباره دستور Like در SQL آشنا شدید. MySQL از نوعی الگوی دیگر عملیات تطبیق نیز پشتیبانی میکند که مبتنی بر عبارتهای منظم (regular expressions) و عملگر Regexp است. اگر با PHP یا Perl آشنا باشید، در این صورت به سادگی این عملگر را درک میکنید، زیرا عملکرد تطبیق آن شبیه فرایند عبارتهای منظم است.
در ادامه جدولی ارائه شده است که الگوهای مورد استفاده عملگر Regexp را عرضه میکند.
الگو | What the pattern با چه چیز مطابقت دارد |
---|---|
^ | آغاز رشته |
$ | پایان رشته |
. | هر کاراکتر منفرد |
[...] | هر کاراکتر که بین دو براکت قرار داشته باشد |
[^...] | هر کاراکتر که بین دو براکت نباشد |
p1|p2|p3 | جایگزینی یعنی با هر یک از الگوهای p1، p21 یا P3 مطابقت داشته باشد |
* | صفر یا چند عدد از عناصر قبلی |
+ | یک یا چند مورد از عناصر قبلی |
{n} | n عدد از عناصر قبلی |
{m,n} | mتا n مورد از عناصر قبلی |
مثال
اینک بر اساس جدول فوق میتوانید انواع مختلفی از کوئری های SQL طراحی کنید که الزامات شما را داشته باشند. در ادامه فهرستی از چند مورد برای درک بیشتر ارائه شده است.
فرض کنید جدولی به نام person_tbl داریم و این جدول فیلدی به نام name دارد. برای یافتن همه نامهایی که با st آغاز میشوند کوئری زیر را میزنیم:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
برای یافتن همه نامهایی که با ok پایان مییابند:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
برای یافتن همه نامهایی که شامل mar هستند:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
برای یافتن همه نامهایی که با حرف صدادار آغاز شده و با ok پایان مییابند کوئری زیر را میزنیم:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای ابزارها و راهکارهای مدیریت وبسایتها
- نصب MySQL — راهنمای گام به گام
- مجموعه آموزشهای پایگاه داده و سیستم های مدیریت اطلاعات
- چگونه دیتابیس MySQL را بر روی ویندوز نصب کنیم؟
- کاربرد دستورهای JOIN در MySQL — راهنمای جامع
- مفاهیم مقدماتی MySQL — راهنمای جامع
==