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

MySQL REGEXP অপারেটর এবং প্যাটার্ন ম্যাচিং

MySQL রেগুলার এক্সপ্রেশন-ভিত্তিক প্যাটার্ন ম্যাচিংয়ের জন্য REGEXP অপারেটর সাপোর্ট করে। নিচের টেবিলে REGEXP-এর সাথে ব্যবহারযোগ্য প্যাটার্নগুলো দেওয়া হলো:

প্যাটার্নকী ম্যাচ করে
^স্ট্রিংয়ের শুরু
$স্ট্রিংয়ের শেষ
.কোনো একক ক্যারেক্টার
[...]বর্গাকার বন্ধনীর ভিতরে লিস্ট করা যেকোনো ক্যারেক্টার
[^...]বর্গাকার বন্ধনীর ভিতরে লিস্ট করা ছাড়া যেকোনো ক্যারেক্টার
p1|p2|p3অ্যালটারনেশন; p1, p2, বা p3 যেকোনো প্যাটার্ন ম্যাচ করে
*পূর্ববর্তী এলিমেন্টের শূন্য বা অধিক ইনস্ট্যান্স
+পূর্ববর্তী এলিমেন্টের এক বা অধিক ইনস্ট্যান্স
{n}পূর্ববর্তী এলিমেন্টের n ইনস্ট্যান্স
{m,n}পূর্ববর্তী এলিমেন্টের m থেকে n ইনস্ট্যান্স

উদাহরণ

Student_info টেবিল থেকে উদাহরণ:

mysql> SELECT * FROM Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
|  101 | YashPal | Amritsar   | History    |
|  105 | Gaurav  | Chandigarh | Literature |
|  130 | Ram     | Jhansi     | Computers  |
|  132 | Shyam   | Chandigarh | Economics  |
|  133 | Mohan   | Delhi      | Computers  |
+------+---------+------------+------------+

১. 'Y' দিয়ে শুরু হওয়া নাম:

mysql> SELECT Name FROM student_info WHERE Name REGEXP '^Y';
+---------+
| Name    |
+---------+
| YashPal |
+---------+

২. 'am' দিয়ে শেষ হওয়া নাম:

mysql> SELECT Name FROM student_info WHERE Name REGEXP 'am$';
+-------+
| Name  |
+-------+
| Ram   |
| Shyam |
+-------+

৩. 'av' সম্বোধ থাকা নাম:

mysql> SELECT Name FROM student_info WHERE Name REGEXP 'av';
+--------+
| Name   |
+--------+
| Gaurav |
+--------+

৪. স্বরবর্ণ দিয়ে শুরু এবং 'am' দিয়ে শেষ হওয়া নাম:

mysql> SELECT Name FROM student_info WHERE Name REGEXP '^[aeiou]|am$';
+-------+
| Name  |
+-------+
| Ram   |
| Shyam |
+-------+
  1. MySQL-এ LIKE দিয়ে ৩ বা ততোধিক 'a' অক্ষর chứa করা নাম খুঁজে বের করা

  2. MySQL에서 INFORMATION_SCHEMA.COLUMNS로 컬럼명과 타입 추출하기

  3. MySQL-এ AND ও OR অপারেটরের পার্থক্য রো রিট্রিভে

  4. C# 7.0-এ প্যাটার্ন ম্যাচিং (Pattern Matching) কী?