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 |
+-------+