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

MySQL-এ REGEXP দিয়ে হাইফেন-সেপারেটেড শুধু সংখ্যা মিলান

MySQL-এ REGEXP ব্যবহার করে নির্দিষ্ট প্যাটার্ন (যেমন: XXX-XXX-XXXX) মিলিয়ে রেকর্ড ফিল্টার করা যায়।

উদাহরণ

mysql> CREATE TABLE DemoTable (Code VARCHAR(100));
Query OK, 0 rows affected (1.16 sec)

mysql> INSERT INTO DemoTable VALUES
('100-677-9876'), ('100-677-9876-John'), ('David-100-677-9876');
Query OK, 3 rows affected

সব রেকর্ড

mysql> SELECT * FROM DemoTable;
+--------------------+
| Code               |
+--------------------+
| 100-677-9876       |
| 100-677-9876-John  |
| David-100-677-9876 |
+--------------------+

শুধু XXX-XXX-XXXX প্যাটার্ন

mysql> SELECT * FROM DemoTable
WHERE Code REGEXP '^\\(?[0-9]{3}\\)?[\\s-]?[0-9]{3}[\\s-]?[0-9]{4}$';
+--------------+
| Code         |
+--------------+
| 100-677-9876 |
+--------------+

রেগেক্স ব্যাখ্যা

  • ^ → স্ট্রিং শুরু
  • \\(?[0-9]{3}\\)? → অপশনাল প্যারেনথেসিসহ ৩ ডিজিট
  • [\\s-]? → অপশনাল স্পেস বা হাইফেন
  • [0-9]{3} → ৩ ডিজিট
  • [\\s-]? → অপশনাল স্পেস বা হাইফেন
  • [0-9]{4}$ → ৪ ডিজিট এবং স্ট্রিং শেষ

MySQL 8.0+ এ REGEXP_LIKE() ফাংশনও আছে।

  1. জাভাস্ক্রিপ্ট রেজেক্স: শুধু নম্বর, লেটার ও আন্ডারস্কোর ভ্যালিডেশন

  2. MySQL-এ অ্যালফানিউমেরিক স্ট্রিং থেকে সংখ্যা বের করে সর্ট করা (RIGHT)

  3. MySQL-এ REGEXP ব্যবহার করে শুধু স্ট্রিং বা স্ট্রিং-নম্বর মিশ্র রেকর্ড ফিল্টার করা

  4. C#-এ শুধু নম্বর 위한 Regex প্যাটার্ন লিখা