लेख निर्देशिका
MySQL डेटाबेसमध्ये रेग्युलर एक्सप्रेशन मॅचिंग कसे करावे ? MySQL रेग्युलर एक्सप्रेशनचा वापर कसा करावा?
MySQL नियमित अभिव्यक्ती
मागील प्रकरणांमध्ये, आपण शिकलो की MySQL मध्ये फझी मॅचिंगसाठी LIKE …% वापरता येते.
MySQL इतर रेग्युलर एक्स्प्रेशन्सच्या मॅचिंगला देखील सपोर्ट करते. रेग्युलर एक्स्प्रेशन मॅचिंगसाठी MySQL मध्ये REGEXP ऑपरेटर वापरला जातो.
जर तुम्हाला PHP किंवा Perl माहित असेल, तर ते अगदी सरळ आहे, कारण MySQL चे रेग्युलर एक्सप्रेशन मॅचिंग या स्क्रिप्ट्ससारखेच आहे.
खालील सारणीतील नियमित नमुने REGEXP ऑपरेटरला लागू केले जाऊ शकतात.
| मोड | वर्णन |
|---|---|
| ^ | इनपुट स्ट्रिंगच्या सुरुवातीशी जुळते.^ RegExp ऑब्जेक्टची मल्टीलाइन प्रॉपर्टी सेट केली असल्यास '\n' किंवा '\r' नंतरच्या स्थितीशी देखील जुळते. |
| $ | इनपुट स्ट्रिंगच्या शेवटी जुळते.RegExp ऑब्जेक्टची मल्टीलाइन प्रॉपर्टी सेट केली असल्यास, $ '\n' किंवा '\r' आधीच्या स्थितीशी देखील जुळते. |
| . | "\n" वगळता कोणत्याही एका वर्णाशी जुळते.'\n' सह कोणत्याही वर्णाशी जुळण्यासाठी, '[.\n]' सारखा नमुना वापरा. |
| [...] | वर्णांचा संग्रह.समाविष्ट वर्णांपैकी कोणत्याही एकाशी जुळते.उदाहरणार्थ, '[abc]' जुळेल "plain मध्ये 'a' |
| [^…] | नकारात्मक वर्ण संच.समाविष्ट नसलेले कोणतेही वर्ण जुळते.उदाहरणार्थ, '[^abc]' "साधा" मधील 'p' शी जुळेल. |
| p1|p2|p3 | p1 किंवा p2 किंवा p3 जुळते.उदाहरणार्थ, 'z|food' एकतर "z" किंवा "food" शी जुळेल. '(z|f)ood' "zood" किंवा "food" शी जुळते. |
| * | मागील सबएक्सप्रेशन शून्य किंवा अधिक वेळा जुळते.उदाहरणार्थ, zo* "z" तसेच "zoo" शी जुळेल. * {0,} च्या समतुल्य आहे. |
| + | मागील उप-अभिव्यक्तीशी एक किंवा अधिक वेळा जुळते.उदाहरणार्थ, 'zo+' "zo" आणि "zoo" शी जुळेल, परंतु "z" नाही. + हे {1,} च्या समतुल्य आहे. |
| {n} | n हा नॉन-ऋणात्मक पूर्णांक आहे.अगदी n वेळा जुळतात.उदाहरणार्थ, 'o{2}' "बॉब" मधील 'o' शी जुळणार नाही, परंतु "फूड" मधील दोन्ही o शी जुळेल. |
| {n,m} | m आणि n दोन्ही गैर-ऋण पूर्णांक आहेत, जेथे n <= m.कमीतकमी n वेळा आणि जास्तीत जास्त m वेळा जुळतात. |
उदाहरण
वरील नियमित आवश्यकता समजून घेतल्यानंतर, आम्ही आमच्या स्वतःच्या गरजेनुसार नियमित अभिव्यक्तीसह SQL स्टेटमेंट्स लिहू शकतो.आमची समज वाढवण्यासाठी खाली आम्ही काही छोटी उदाहरणे (सारणीचे नाव: person_tbl ) सूचीबद्ध करू:
नाव फील्डमध्ये 'st' ने सुरू होणारा सर्व डेटा शोधा:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
नाव फील्डमध्ये 'ओके' ने समाप्त होणारा सर्व डेटा शोधा:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
नाव फील्डमध्ये 'मार' स्ट्रिंग असलेला सर्व डेटा शोधा:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
नाव फील्डमधील सर्व डेटा शोधा जो स्वर वर्णाने सुरू होतो किंवा 'ओके' स्ट्रिंगने समाप्त होतो:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
आशा आहे की, चेन वेइलियांगच्या ब्लॉगवर ( https://www.chenweiliang.com/ ) शेअर केलेला "How to Match Using Regular Expressions in MySQL Database? Usage of MySQL regexp like" हा लेख तुम्हाला उपयुक्त ठरेल.
या लेखाची लिंक शेअर करण्यास हरकत नाही: https://www.chenweiliang.com/cwl-492.html
