MySQL-এ কেস-সেনসিটিভ রেগুলার এক্সপ্রেশন (REGEXP BINARY) ব্যবহার করে একসাথে ছোট হাতের অক্ষর (a-z), বড় হাতের অক্ষর (A-Z) এবং সংখ্যা (0-9) সম্বলিত স্ট্রিং খুঁজে বের করা যায়।
উদাহরণ
mysql> CREATE TABLE DemoTable738 (UserId VARCHAR(100));
Query OK, 0 rows affected (0.81 sec)
mysql> INSERT INTO DemoTable738 VALUES
('John'), ('sAm456'), ('98Carol'), ('67david'), ('69MIKE');
Query OK, 5 rows affected
সব রেকর্ড
mysql> SELECT * FROM DemoTable738;
+---------+ | UserId | +---------+ | John | | sAm456 | | 98Carol | | 67david | | 69MIKE | +---------+
একসাথে a-z, A-Z, 0-9 থাকা স্ট্রিং
mysql> SELECT * FROM DemoTable738 WHERE UserId REGEXP BINARY '[A-Z]' AND UserId REGEXP BINARY '[a-z]' AND UserId REGEXP BINARY '[0-9]';
+---------+ | UserId | +---------+ | sAm456 | | 98Carol | +---------+
ব্যাখ্যা
REGEXP BINARY→ কেস-সেনসিটিভ ম্যাচ (ডিফল্ট কেস-ইনসেনসিটিভ)[A-Z]→ কমপক্ষে একটি বড় হাতের অক্ষর[a-z]→ কমপক্ষে একটি ছোট হাতের অক্ষর[0-9]→ কমপক্ষে একটি সংখ্যাAND→ তিনো শর্ত পূরণ করতে হবে
সিঙ্গেল রেগেক্স (লুকাHEAD, MySQL 8.0+)
WHERE UserId REGEXP BINARY '^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).+$'