MySQL-এ REGEXP ব্যবহার করে স্ট্রিং কলাম থেকে স্পেশাল ক্যারেক্টার (অ-আলফানিউমেরিক) সম্বলিত রেকর্ড ফিল্টার করা যায়।
উদাহরণ
mysql> CREATE TABLE DemoTable (SubjectCode VARCHAR(100));
Query OK, 0 rows affected (0.89 sec)
mysql> INSERT INTO DemoTable VALUES
('Java899@22'), ('C#'), ('~Python232'), ('MongoDB%'), ('C123456');
Query OK, 5 rows affected
সব রেকর্ড
mysql> SELECT * FROM DemoTable;
+-------------+ | SubjectCode | +-------------+ | Java899@22 | | C# | | ~Python232 | | MongoDB% | | C123456 | +-------------+
স্পেশাল ক্যারেক্টারসহ রেকর্ড (অ-আলফানিউমেরিক)
mysql> SELECT * FROM DemoTable WHERE SubjectCode REGEXP '[^a-zA-Z0-9&]';
+-------------+ | SubjectCode | +-------------+ | Java899@22 | | C# | | ~Python232 | | MongoDB% | +-------------+
রেগেক্স ব্যাখ্যা
[^a-zA-Z0-9&]→ নেগেটেড ক্যারেক্টার ক্লাস:^→ নেগেশন (এগুলো বাদে)a-z→ ছোট হাতের অক্ষরA-Z→ বড় হাতের অক্ষর0-9→ সংখ্যা&→ অ্যাম্পারস্যান্ড (এসকেপ বা রיעה সম্মিলিত)
- অর্থাৎ: যেকোনো ক্যারেক্টার যা অক্ষর/সংখ্যা/& নয়
সাধারণ স্পেশাল ক্যারেক্টার ক্লাস
| প্যাটার্ন | ম্যাচ করে |
|---|---|
[^a-zA-Z0-9] | যেকোনো নন-আলফানিউমেরিক |
[[:punct:]] | পাঙ্কচুয়েশন ক্যারেক্টার (POSIX) |
[^[:alnum:]] | নন-আলফানিউমেরিক (POSIX) |