मारियाडीबी में, RLIKE
ऑपरेटर का उपयोग यह निर्धारित करने के लिए किया जाता है कि स्ट्रिंग नियमित अभिव्यक्ति से मेल खाती है या नहीं। यह REGEXP
. का समानार्थी है ।
यदि स्ट्रिंग प्रदान की गई नियमित अभिव्यक्ति से मेल खाती है, तो परिणाम 1
. है , अन्यथा यह 0
है ।
सिंटैक्स
वाक्य रचना इस प्रकार है:
expr RLIKE pat
जहां expr
इनपुट स्ट्रिंग है और pat
वह रेगुलर एक्सप्रेशन है जिसके लिए आप स्ट्रिंग का परीक्षण कर रहे हैं।
उदाहरण
SELECT
. में इस ऑपरेटर का उपयोग कैसे करें इसका एक उदाहरण यहां दिया गया है कथन:
SELECT 'Tweet' RLIKE '^Tw.*t$';
परिणाम:
+-------------------------+ | 'Tweet' RLIKE '^Tw.*t$' | +-------------------------+ | 1 | +-------------------------+
इस मामले में, वापसी मूल्य 1
. है जिसका अर्थ है कि इनपुट स्ट्रिंग नियमित अभिव्यक्ति से मेल खाती है। विशेष रूप से, हमने निर्दिष्ट किया है कि इनपुट स्ट्रिंग Tw . से शुरू होनी चाहिए और t . के साथ समाप्त होता है (ऐसा इसलिए है क्योंकि हमने ^Tw
. के साथ पैटर्न शुरू किया है और इसे t$
. के साथ समाप्त किया ) .
भाग किसी भी वर्ण को निर्दिष्ट करता है, और *
निर्दिष्ट करता है कि यह उस (किसी भी) वर्ण की किसी भी संख्या के लिए शून्य हो सकता है। तो .*
इसका मतलब है कि प्रारंभ और अंत के बीच कोई वर्ण, एक वर्ण या कई वर्ण नहीं हो सकते हैं।
अगर हम *
. को छोड़ देते हैं तो यहां क्या होता है :
SELECT 'Tweet' RLIKE '^Tw.t$';
परिणाम:
+------------------------+ | 'Tweet' RLIKE '^Tw.t$' | +------------------------+ | 0 | +------------------------+
वापसी परिणाम 0
. है जिसका अर्थ है कोई मेल नहीं। ऐसा इसलिए है क्योंकि .
किसी भी वर्ण का केवल एक उदाहरण निर्दिष्ट करता है। हमारे इनपुट स्ट्रिंग में दो उदाहरण हैं।
यहां कुछ क्रमपरिवर्तन दिए गए हैं:
SELECT
'Twet' RLIKE '^Tw.t$' AS "Twet",
'Twit' RLIKE '^Tw.t$' AS "Twit",
'Twt' RLIKE '^Tw.t$' AS "Twt",
'Tw.t' RLIKE '^Tw.t$' AS "Tw.t";
परिणाम:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+