MySQL REGEXP ऑपरेटर का उपयोग करके किसी कॉलम में विशिष्ट संख्या में सेमीकोलन (;) वाली पंक्तियों को खोजें।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Title TEXT
);
Query OK, 0 rows affected (0.88 sec)
mysql> INSERT INTO DemoTable(Title) VALUES('This is; a; MySQL;Tutorial');
mysql> INSERT INTO DemoTable(Title) VALUES('Java is; an;Object Oriented');
mysql> INSERT INTO DemoTable(Title) VALUES('MongoDB ; is;a; database');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+----+-----------------------------+
| Id | Title |
+----+-----------------------------+
| 1 | This is; a; MySQL;Tutorial |
| 2 | Java is; an;Object Oriented |
| 3 | MongoDB ; is;a; database |
+----+-----------------------------+
3 rows in set (0.00 sec)
3 सेमीकोलन वाली पंक्तियों के लिए RegEx
mysql> SELECT * FROM DemoTable
WHERE Title REGEXP '(.*;){3}';
परिणाम:
+----+----------------------------+
| Id | Title |
+----+----------------------------+
| 1 | This is; a; MySQL;Tutorial |
| 3 | MongoDB ; is;a; database |
+----+----------------------------+
2 rows in set (0.00 sec)
व्याख्या: पैटर्न (.*;){3} किसी भी अक्षर के बाद सेमीकोलन के तीन घटनाओं से मेल खाता है। .* लालची है; सटीक गिनती के लिए [^;]*; बेहतर हो सकता है।