Regex Literals
Patterns की मूल बातें
Regex Literals, CoddyKit पर Ruby Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Ruby Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Ruby Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
रेगुलर एक्सप्रेशन क्या है
रेगुलर एक्सप्रेशन (रेगेक्स) पाठ से मिलान करने के लिए इस्तेमाल किया जाने वाला पैटर्न है। Ruby में, रेगेक्स, Regexp वर्ग का एक प्रथम-श्रेणी ऑब्जेक्ट है।
आप रेगेक्स का इस्तेमाल स्ट्रिंग के हिस्सों को खोजने, सत्यापित करने और निकालने के लिए करते हैं।
- किसी शब्द, अंक या चिह्न से मिलान करें
- ईमेल और फ़ोन नंबरों का सत्यापन करें
- अव्यवस्थित पाठ से हिस्से निकालें
pattern = /hello/
puts pattern.class
puts(pattern.match?('hello world'))स्लैश वाले रेगेक्स लिटरल
Ruby में रेगेक्स लिखने का सबसे सामान्य तरीका इसे दो फ़ॉरवर्ड स्लैश के बीच लिखना है: /pattern/।
इसे रेगेक्स लिटरल कहा जाता है। स्लैश के बीच का पूरा भाग पैटर्न होता है।
ruby = /ruby/
puts ruby.class
puts(ruby.match?('I love ruby'))
puts(ruby.match?('I love python'))=~ मिलान ऑपरेटर
=~ ऑपरेटर किसी स्ट्रिंग का रेगेक्स के साथ परीक्षण करता है। यह पहले मिलान का सूचकांक लौटाता है, और यदि कोई मिलान न हो तो nil लौटाता है।
puts('hello world' =~ /world/)
puts(('hello world' =~ /xyz/).inspect)बूलियन उत्तर के लिए match?
जब आपको केवल हाँ या नहीं में उत्तर चाहिए, तब match? का इस्तेमाल करें। यह true या false लौटाता है और तेज़ होता है, क्योंकि यह MatchData ऑब्जेक्ट नहीं बनाता।
puts(/\d/.match?('abc123'))
puts(/\d/.match?('abcdef'))अक्षर-वर्ग
वर्गाकार कोष्ठकों में लिखा गया अक्षर-वर्ग किसी समुच्चय के किसी भी एक अक्षर से मिलान करता है।
[abc]का मिलान a, b या c से होता है[a-z]किसी भी छोटे अक्षर से मिलान करता है[0-9]किसी भी अंक से मिलान करता है
puts(/[aeiou]/.match?('sky'))
puts(/[aeiou]/.match?('tree'))
puts(/[0-9]/.match?('room 7'))संक्षिप्त अक्षर-वर्ग
Ruby सामान्य अक्षर-वर्गों के लिए संक्षिप्त एस्केप उपलब्ध कराता है:
\dअंक के लिए,\Dगैर-अंक के लिए\wशब्द-वर्ण के लिए (अक्षर, अंक, अंडरस्कोर)\sरिक्त स्थान के लिए,\Sगैर-रिक्त स्थान के लिए
puts(/\d\d/.match?('age 42'))
puts(/\w+/.match?('hello_99'))
puts(/\s/.match?('no_space'))डॉट और क्वांटिफ़ायर
डॉट . किसी भी एक वर्ण से मिलान करता है (नई पंक्ति को छोड़कर)। क्वांटिफ़ायर दोहराव को नियंत्रित करते हैं:
*शून्य या अधिक बार+एक या अधिक बार?शून्य या एक बार{2,4}2 से 4 बार के बीच
puts(/ab+c/.match?('abbbc'))
puts(/colou?r/.match?('color'))
puts(/\d{3}/.match?('id 451'))पाइप से विकल्प
पाइप | का अर्थ OR है। पैटर्न cat|dog दोनों में से किसी एक शब्द से मिलान करता है।
किसी बड़े पैटर्न के भीतर विकल्पों को एक समूह में रखने के लिए कोष्ठकों का इस्तेमाल करें।
pet = /cat|dog/
puts(pet.match?('I have a dog'))
puts(pet.match?('I have a fish'))
puts(/^(yes|no)$/.match?('yes'))अक्षर-रूप से स्वतंत्र फ़्लैग
मिलान को बड़े और छोटे अक्षरों से स्वतंत्र बनाने के लिए अंतिम स्लैश के बाद i फ़्लैग जोड़ें।
अन्य उपयोगी फ़्लैग में m (डॉट नई पंक्ति से भी मिलान करता है) और x (विस्तारित, रिक्त स्थानों को अनदेखा करता है) शामिल हैं।
puts(/ruby/i.match?('I love RUBY'))
puts(/ruby/.match?('I love RUBY'))स्ट्रिंग से रेगेक्स बनाना
आप रनटाइम पर Regexp.new की मदद से रेगेक्स बना सकते हैं। ऐसे उपयोगकर्ता इनपुट को सुरक्षित रूप से शामिल करने के लिए Regexp.escape का इस्तेमाल करें, जिसमें विशेष वर्ण हो सकते हैं।
word = 'price'
pattern = Regexp.new(word)
puts(pattern.match?('the price is high'))
puts(Regexp.escape('a.b*c'))एंकर का परिचय
एंकर वर्णों के बजाय स्थानों से मिलान करते हैं:
^पंक्ति का आरंभ$पंक्ति का अंत\Aस्ट्रिंग का आरंभ\zस्ट्रिंग का अंत
आप बाद में इनका गहराई से अध्ययन करेंगे।
puts(/^Hello/.match?('Hello there'))
puts(/world$/.match?('hello world'))त्वरित जाँच
जब कोई रेगेक्स किसी स्ट्रिंग से मिलान करता है, तब =~ ऑपरेटर क्या लौटाता है?
पुनरावलोकन: रेगेक्स लिटरल
आपने Ruby रेगेक्स की बुनियाद सीखी:
- रेगेक्स लिटरल
/slashes/के बीच लिखे जाते हैं =~एक सूचकांक लौटाता है, जबकिmatch?true/false लौटाता है- अक्षर-वर्ग
[ ]और संक्षिप्त रूप\d \w \s - क्वांटिफ़ायर
* + ? {n,m}और विकल्प| iफ़्लैग मिलान को बड़े और छोटे अक्षरों से स्वतंत्र बनाता है
अब आप मिलान किए गए हिस्सों को कैप्चर करेंगे।
puts(/\w+@\w+\.\w+/i.match?('USER@Mail.com'))एआई शिक्षक के साथ Ruby सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 29
- पाठ
- 109
अक्सर पूछे जाने वाले प्रश्न
क्या “Regex Literals” पाठ निःशुल्क है?
हाँ — Ruby Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Regex Literals” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Ruby Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Regex Literals” में मैं क्या सीखूँगा?
Patterns की मूल बातें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Ruby Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Ruby Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Ruby Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Regex Literals” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Ruby Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Ruby Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Regex Literals
- Matching और Capturing
- Substitution
- Named Groups और Anchors