কম্পিউটার টিউটোরিয়াল

MySQL-এ রেগুলার এক্সপ্রেশন ব্যবহার করে নির্দিষ্ট প্যাটার্ন খুঁজে বের করা

নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে রেগুলার এক্সপ্রেশন (REGEXP) ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable (
    UserId VARCHAR(100)
);

রেকর্ড যোগ করি:

mysql> INSERT INTO DemoTable VALUES('User-123-G');
mysql> INSERT INTO DemoTable VALUES('Us-453-GO');
mysql> INSERT INTO DemoTable VALUES('TRUE-908-K');

সকল রেকর্ড দেখতে:

mysql> SELECT * FROM DemoTable;

আউটপুট:

+------------+
| UserId     |
+------------+
| User-123-G |
| Us-453-GO  |
| TRUE-908-K |
+------------+

নির্দিষ্ট প্যাটার্ন (৪ অ্যালফানিউমেরিক - ৩ অ্যালফানিউমেরিক - ১ অ্যালফানিউমেরিক) অনুযায়ী খোঁজার কোয়েরি:

mysql> SELECT * FROM DemoTable 
WHERE UserId REGEXP '^[[:alnum:]]{4}-[[:alnum:]]{3}-[[:alnum:]]{1}$';

আউটপুট:

+------------+
| UserId     |
+------------+
| User-123-G |
| TRUE-908-K |
+------------+

ব্যাখ্যা:

  • ^: স্ট্রিংয়ের শুরু
  • [[:alnum:]]: অক্ষর বা সংখ্যা (a-z, A-Z, 0-9)
  • {4}: ঠিক ৪ বার
  • -: হাইফেন (লিটারেল)
  • {3}: ঠিক ৩ বার
  • {1}$: ঠিক ১ বার এবং স্ট্রিংয়ের শেষ

Us-453-GO মিলেনি কারণ প্রথম অংশে ৩টি ক্যারেক্টার আছে (Us-), ৪টি নয়।

  1. MySQL-এ LIKE অপারেটর দিয়ে কীওয়ার্ড সার্চ ইমপ্লিমেন্ট করা

  2. MySQL-এ সঠিক স্ট্রিং (case-sensitive) খুঁজে বের করার উপায়

  3. MySQL-এ নির্দিষ্ট ক্রমে ডেটা সাজানোর পদ্ধতি

  4. MySQL-এ নির্দিষ্ট কলামের ডেটা এক্সপোর্ট করুন