पिछले एक या दो महीने में, मैं क्रमशः iOS और macOS पर शॉर्टकट और ऑटोमेटर ऐप को कवर कर रहा हूं। जब ऐप्पल इकोसिस्टम में ऑटोमेशन की बात आती है, तो दोनों पावरहाउस होते हैं, और मैकओएस मोंटेरे दिस फॉल के साथ शुरुआत करते हुए, शॉर्टकट सभी ऐप्पल डिवाइस पर गो-टू ऑटोमेशन ऐप होगा। यही कारण है कि मैं इस लेख को एक बहुत ही शक्तिशाली विषय पर चर्चा करना चाहता था: शॉर्टकट ऐप के साथ रेगेक्स का उपयोग करना।
जबकि मेरे पास कंप्यूटर विज्ञान और प्रोग्रामिंग में कुछ पृष्ठभूमि है, मैं किसी भी तरह रेगेक्स में कभी नहीं आया था। हो सकता है कि नाम ने मुझे डरा दिया हो, या शायद यह कोड था, जो कि मैंने अब तक देखा सबसे कम पठनीय कोड है।
जो भी हो, मैंने पिछले कुछ महीनों में शॉर्टकट ऐप को कवर करने के बाद रेगेक्स में आगे देखने का फैसला किया। और मुझे जो पता चला वह यह था कि मैं शॉर्टकट के साथ-साथ ऑटोमेटर के साथ चल रही बहुत सी सीमाओं को रेगेक्स से दूर कर सकता था।
दूसरे शब्दों में, ऐसा नहीं था कि इन ऐप्स में सुविधाओं की कमी थी, बल्कि यह कि मुझमें शिक्षा की कमी थी।
तो आज की पोस्ट में, आप और मैं रेगेक्स के इन्स और आउट्स को एक साथ सीखने जा रहे हैं। इस तरह, आप इनमें से प्रत्येक ऐप का अधिकतम लाभ उठा सकते हैं।
हम रेगेक्स की मूल बातें (इससे शुरू करते हैं कि यह क्या है) को कवर करने जा रहे हैं, आप शॉर्टकट ऐप में इसके साथ क्या कर सकते हैं, कुछ वेबसाइटें और यदि आप स्वयं रेगेक्स सीखने का मन नहीं करते हैं तो आप संसाधनों का उपयोग कर सकते हैं, और फिर हम रेगेक्स की मूल अवधारणाओं और यांत्रिकी में जाएंगे भाषा: हिन्दी।
ठीक है, चलिए शुरू करते हैं!
अंतर्वस्तु
-
रेगुलर एक्सप्रेशन (यानी, रेगेक्स) क्या हैं?
- चीजें जो आप रेगेक्स के साथ कर सकते हैं
- आप शॉर्टकट ऐप के साथ रेगेक्स का उपयोग कैसे कर सकते हैं?
- अपने रेगुलर एक्सप्रेशन का परीक्षण करने के लिए regex101.com का उपयोग करें
- यदि आप शॉर्टकट ऐप के साथ रेगेक्स का उपयोग करना नहीं सीखना चाहते हैं, तो इसे पढ़ें
-
शुरुआती के लिए रेगेक्स: शॉर्टकट के साथ रेगेक्स का उपयोग शुरू करें
- रेगेक्स स्वाद क्या हैं?
- शॉर्टकट के साथ रेगेक्स सीखना शुरू करने में आपकी मदद करने के लिए वेबसाइटें और संदर्भ
- शॉर्टकट के साथ रेगेक्स का उपयोग करके मूल पाठ खोज कैसे करें
- अपनी रेगेक्स खोजों में परिवर्तनशील घटकों को जोड़ना
- श्रेणियां आपकी खोज को विस्तृत कर सकती हैं
- शॉर्टकट के साथ अपनी रेगेक्स खोजों से शब्दों और वर्णों को कैसे निकालें
- वाइल्डकार्ड आपको अधिक खोज विकल्प दे सकते हैं
- आप जिस टेक्स्ट की तलाश कर रहे हैं उसकी लंबाई निर्दिष्ट करने के लिए क्वांटिफ़ायर का उपयोग करें
- कुछ और क्वांटिफ़ायर हैं जिनके बारे में आप जानना चाहेंगे
- पाठ की एक स्ट्रिंग के आरंभ और अंत में वर्णों की खोज करें
- शॉर्टकट के साथ रेगेक्स के ग्रुपिंग फ़ंक्शन का उपयोग करके टेक्स्ट स्ट्रिंग्स को स्टोर करें
-
अब क्या?
- आप इसे कैसे तोड़ेंगे?
-
अपने ऑटोमेशन को अगले स्तर पर ले जाने के लिए शॉर्टकट के साथ रेगेक्स का उपयोग शुरू करें
- संबंधित पोस्ट:
रेगुलर एक्सप्रेशन (यानी, रेगेक्स) क्या हैं?
एक रेगुलर एक्सप्रेशन, या "रेगेक्स", एक छोटा सा कोड है जिसका उपयोग आप टेक्स्ट के एक बड़े टुकड़े के अंदर टेक्स्ट के एक टुकड़े को खोजने के लिए कर सकते हैं।
यदि आप नहीं जानते हैं, तो पाठ के दूसरे भाग के भीतर पाठ के एक टुकड़े को प्रोग्रामिंग में "स्ट्रिंग" कहा जाता है। उदाहरण के लिए, 'ग्रीन' शब्द "मैंने आज हरे रंग की पैंट पहनी थी" टेक्स्ट से वर्णों की एक स्ट्रिंग है।
तो एक और तरीका रखो, रेगेक्स टेक्स्ट के बड़े हिस्से में टेक्स्ट की एक स्ट्रिंग का पता लगाने का एक तरीका है। और चूंकि रेगेक्स कोड में लिखा गया है, इसलिए आप इसका उपयोग कुछ जटिल जटिल संचालन करने के लिए कर सकते हैं।
उदाहरण के लिए, यदि आप "ईमेल" शब्द खोजना चाहते हैं, तो आप आसानी से एक रेगेक्स कोड लिख सकते हैं जो ईमेल की खोज करता है।
हालांकि, यदि आप एक पैराग्राफ के अंदर एक ईमेल ढूंढना चाहते हैं, और यह नहीं जानते कि वह ईमेल क्या है, तो आपको टेक्स्ट की एक स्ट्रिंग की खोज करनी होगी जो ईमेल की तरह स्वरूपित हो। यानी, एक स्ट्रिंग जो "का अनुसरण करती है[ईमेल संरक्षित]" प्रारूप।
अब, मान लें कि आप न केवल एक पैराग्राफ से एक ईमेल ढूंढना चाहते हैं बल्कि प्रत्येक ईमेल। हो सकता है कि आप उन्हें कहीं और जल्दी से कॉपी करना चाहते हैं, उन्हें एक नए प्रारूप में अपडेट करना चाहते हैं, या उन्हें बदलना चाहते हैं ताकि वे सभी कहें "[ईमेल संरक्षित]“.
जैसे-जैसे आप रेगेक्स के साथ अधिक से अधिक कुशल और अनुभवी होते जाते हैं, आप इन सभी चीजों को और बहुत कुछ करने में सक्षम होंगे।
चीजें जो आप रेगेक्स के साथ कर सकते हैं
ठीक है, तो हो सकता है कि ईमेल के साथ जो उदाहरण मैंने अभी दिए हैं वे व्यावहारिक नहीं हैं। चिंता न करें - शॉर्टकट ऐप के साथ रेगेक्स का उपयोग करके आप जो हासिल कर सकते हैं उसकी सीमा से बहुत दूर है।
सामान्यतया, रेगेक्स जो कुछ भी कर सकता है वह इन चार श्रेणियों में से एक में आता है:
- टेक्स्ट के एक बड़े हिस्से में टेक्स्ट की एक स्ट्रिंग खोजें (यानी, टेक्स्ट के पेज पर एक शब्द/स्ट्रिंग/स्ट्रिंग के प्रकार की खोज)।
- पुष्टि करें कि टेक्स्ट की एक स्ट्रिंग आपके वांछित प्रारूप से मेल खाती है (यानी, यह जांचना कि टेक्स्ट की एक स्ट्रिंग पूंजीकृत/आदेशित/ठीक से विरामित है)।
- टेक्स्ट के किसी भाग के विशिष्ट क्षेत्र में टेक्स्ट बदलें या डालें।
- निर्दिष्ट बिंदुओं पर पाठ की एक स्ट्रिंग को विभाजित करें (उदाहरण के लिए, हर बार अल्पविराम होने पर पाठ के एक टुकड़े को विभाजित करें)।
गहराई का स्तर जिसका उपयोग आप इनमें से प्रत्येक प्रकार के कार्यों के साथ बातचीत करने के लिए कर सकते हैं और आप उन्हें कैसे जोड़ सकते हैं, रेगेक्स को पाठ को पार्स करने और हेरफेर करने के लिए एक अविश्वसनीय रूप से शक्तिशाली उपकरण बनाते हैं।
आप शॉर्टकट ऐप के साथ रेगेक्स का उपयोग कैसे कर सकते हैं?
ठीक है, तो अब आपको उम्मीद है कि रेगेक्स का उपयोग किस प्रकार किया जाता है इसका एक मूल विचार है। यह एक प्रकार का कोड है जिसका उपयोग आप टेक्स्ट खोजने के लिए कर सकते हैं, भले ही आपको यह पता न हो कि वह टेक्स्ट क्या है।
तो यह आपको शॉर्टकट में कैसे मदद करता है? अपने शॉर्टकट में स्क्रिप्टिंग जोड़ने के समान, यह मूल स्वचालन से जाने का एक तरीका है (सामने का दरवाज़ा खुलने पर मुझे मैसेज करें) अधिक उन्नत विकल्पों के लिए (जब भी मुझे काम से ज़ूम मीटिंग के लिए कोई ईमेल प्राप्त होता है, तो मेरी मीटिंग के लिए स्वचालित रूप से एक कैलेंडर ईवेंट बनाएं).
इनपुट सही है या नहीं, यह जांचने के लिए आप शॉर्टकट के साथ रेगेक्स का उपयोग कर सकते हैं। उदाहरण के लिए, यदि आप एक शॉर्टकट बनाते हैं जो केवल यूआरएल के साथ काम करता है, तो आप शॉर्टकट की शुरुआत में रेगेक्स का उपयोग यह सुनिश्चित करने के लिए कर सकते हैं कि उपयोगकर्ता यूआरएल पर ऑटोमेशन चला रहा है।
शक्तिशाली शॉर्टकट बनाने के लिए आप रेगेक्स को स्क्रिप्टिंग के साथ जोड़ सकते हैं। उदाहरण के लिए, यह शॉर्टकट बारकोड को आपके पसंदीदा स्टोर के URL में बदलने के लिए रेगेक्स और स्क्रिप्टिंग का उपयोग करता है।
Mac पर शॉर्टकट ऐप का उपयोग करते समय (आने वाला 2021 का पतन), आप टेक्स्ट के एक भाग पर बैच क्रियाएँ करने के लिए रेगेक्स का उपयोग कर सकते हैं। उदाहरण के लिए, आप ऑर्डर की गई सूची के रूप में टेक्स्ट के चयन में सभी ईमेल को कॉपी कर सकते हैं। या, आप गोपनीयता सुनिश्चित करने के लिए दस्तावेज़ के सभी नामों को "*" वर्णों से बदल सकते हैं।
आप एक ऐप से टेक्स्ट के बॉडी को कॉपी भी कर सकते हैं, दूसरे ऐप की प्राथमिकताओं से मेल खाने के लिए इसे रिफॉर्मेट कर सकते हैं, और फिर इसे एक ही राइट-क्लिक एक्शन के साथ उस दूसरे ऐप में पेस्ट कर सकते हैं।
दूसरे शब्दों में, रेगेक्स आपको शॉर्टकट ऐप के साथ टेक्स्ट हैंडलिंग पर पूर्ण नियंत्रण देता है। यह पहली बार में बहुत मददगार नहीं लग सकता है, लेकिन अब जब आप जानते हैं कि यह मौजूद है, तो आप निश्चित रूप से यह देखना शुरू कर देंगे कि इस सुविधा से कितने शॉर्टकट बेहतर किए जा सकते हैं। और आप यह भी देखेंगे कि रेगेक्स के बिना बहुत सारे शॉर्टकट भी संभव नहीं हैं।
अपने रेगुलर एक्सप्रेशन का परीक्षण करने के लिए regex101.com का उपयोग करें
एक बार जब आप शॉर्टकट के साथ रेगेक्स का उपयोग करना शुरू कर देते हैं, तो आप निराशा की स्थिति में आ जाएंगे:
अपने रेगेक्स कोड का परीक्षण करना वाकई मुश्किल है। और यह रेगेक्स के लिए अद्वितीय नहीं है। शॉर्टकट ऐप से किसी भी चीज़ का परीक्षण करना एक तरह का दर्द है। ऐसा करने का एकमात्र तरीका शॉर्टकट चलाना है। जब आप केवल अंतर्निहित शॉर्टकट सुविधाओं का परीक्षण कर रहे हों तो यह तरीका खराब नहीं है।
लेकिन परीक्षण कोड के लिए, यह लाइन-दर-लाइन जाँच की अनुमति नहीं देता है और यह बहुत अधिक प्रतिक्रिया प्रदान नहीं करता है।
उसके लिए, मैं regex101.com का उपयोग करने की सलाह दूंगा। यह एक ऐसी साइट है जिसमें आप रीयल-टाइम में रेगेक्स कोड टाइप कर सकते हैं। आप उसी वेबपेज पर टेक्स्ट एडिटर में टेक्स्ट भी टाइप कर सकते हैं। जैसा कि आप प्रत्येक टाइप करते हैं, आप देखेंगे कि आपका रेगेक्स काम कर रहा है या नहीं, यह क्यों काम कर रहा है या नहीं, और पाए गए मैचों के बारे में जानकारी प्राप्त करें।
regex101.com शॉर्टकट द्वारा समर्थित रेगेक्स के एक अलग स्वाद का उपयोग कर रहा है (उस पर एक मिनट में अधिक), लेकिन यह इतना करीब है कि आपको बहुत अधिक मुद्दों में भाग नहीं लेना चाहिए।
इस उपकरण का उपयोग करना बहुत अच्छा है क्योंकि आप पहले अपना रेगेक्स लिख सकते हैं, फिर इसे शॉर्टकट ऐप में कॉपी कर सकते हैं, जब यह इरादा के अनुसार काम कर रहा हो।
यदि आप शॉर्टकट ऐप के साथ रेगेक्स का उपयोग करना नहीं सीखना चाहते हैं, तो इसे पढ़ें
मुझे समझ में आ गया - हर कोई यह नहीं सीखना चाहता कि शॉर्टकट के साथ रेगेक्स का उपयोग कैसे करें। यह एक कौशल है, और इसका मतलब है कि इसके लिए समय और अभ्यास की आवश्यकता होगी। यह शॉर्टकट ऐप के बाकी ड्रैग-एंड-ड्रॉप फीचर्स जितना आसान नहीं है।
कोई चिंता नहीं! जबकि आप शॉर्टकट ऐप से उतना नहीं प्राप्त कर पाएंगे, जो रेगेक्स सीखने के लिए समय लगाता है, फिर भी आपके लिए विकल्प उपलब्ध हैं। अर्थात्, ऑनलाइन ऐसी साइटें और पृष्ठ हैं जहां लोगों ने रेगेक्स कोड बाइट की एक सूची बनाई है जिसे आप शॉर्टकट ऐप में कॉपी और पेस्ट कर सकते हैं।
यदि आप रेगेक्स नहीं सीखना चाहते हैं, तो यह देखने के लिए यहां कुछ लिंक दिए गए हैं:
- https://www.shortcutfoo.com/app/dojos/regex/cheatsheet
- https://www.reddit.com/r/shortcuts/comments/9zo24n/regex_cookbook_for_shortcuts_reusable_regex_to/
- https://www.reddit.com/r/shortcuts/comments/b5labq/match_text_examples_for_the_beginner_a_regex/
- http://www.rexegg.com/regex-cookbook.html
बस उन लिंक के माध्यम से पढ़ें और आप शॉर्टकट के लिए सामान्य रेगेक्स समाधान ढूंढने में सक्षम होना चाहिए जो आप बनाना चाहते हैं। यह एक शिक्षा-मुक्त विकल्प नहीं होगा, क्योंकि आप जो देख रहे हैं उसे समझने में अभी भी थोड़ा समय लगेगा। लेकिन यह किसी ऐसे व्यक्ति के लिए बहुत आसान और आदर्श समाधान है जिसके पास रेगेक्स में डालने का समय नहीं है।
उस ने कहा, मुझे यह स्वीकार करना होगा कि रेगेक्स सीखना बहुत मुश्किल नहीं है, खासकर यदि आपके पास शेल कोड या शुरुआती प्रोग्रामिंग के साथ कुछ अनुभव है। रेगेक्स पहली बार मेरे लिए अस्पष्ट लग रहा था, लेकिन लेखों के माध्यम से पढ़ने और regex101.com के साथ खेलने के एक घंटे बाद, मैं अपने शॉर्टकट के लिए रेगेक्स लिखना शुरू करने में सक्षम था।
यह सिर्फ एक परिचित बात है - जब आप इसे काफी देर तक देखते हैं, तो यह इतना अजीब दिखना बंद कर देगा। तो अगर आपके पास समय है और आप बस डरे हुए हैं, तो मत बनो!
शुरुआती के लिए रेगेक्स: शॉर्टकट के साथ रेगेक्स का उपयोग शुरू करें
ठीक है, पर्याप्त प्रस्तावना! आपको इस बात का अंदाजा होना चाहिए कि रेगेक्स क्या है, यह क्या कर सकता है, आपको इसे क्यों सीखना चाहिए, और यह तय करने के लिए पर्याप्त जानकारी होनी चाहिए कि क्या आप इसे सीखना चाहते हैं। अब हम नॉटी-ग्रिट्टी में जाने वाले हैं।
नीचे बहुत सारी सामग्री है, लेकिन चिंता न करें! यह लेख एक अध्ययन मार्गदर्शिका के रूप में अधिक होने जा रहा है। मैं प्रत्येक खंड पर स्किमिंग करने की सलाह देता हूं ताकि आपको उन यांत्रिकी का अंदाजा हो जाए जो रेगेक्स का उपयोग करता है। इससे आपको अपने सिर को इसके चारों ओर लपेटने में भी मदद मिलनी चाहिए, अगर आप अभी भी उलझन में हैं कि रेगेक्स क्या है।
एक बार जब आप चीजों को स्किम कर लेते हैं, तो मैं regex101.com खोलने और नीचे दिए गए प्रत्येक अनुभाग में प्रत्येक टूल के साथ खेलने की सलाह देता हूं। इससे आपको यह देखने में मदद मिलेगी कि अभ्यास में अवधारणाएँ कैसी दिखती हैं और साथ ही आपकी याददाश्त में सुधार करती हैं। ऐसा करने के बाद, आप इस आलेख को केवल एक संदर्भ बिंदु के रूप में मान सकते हैं - जब आप रेगेक्स के बिट्स और बॉब्स को भूल जाते हैं तो आप वापस आ सकते हैं।
ठीक चलो चलते हैं!
रेगेक्स स्वाद क्या हैं?
सबसे पहले, हम रेगेक्स फ्लेवर को देखने जा रहे हैं। चिंता न करें - यह शॉर्टकट के साथ रेगेक्स के आपके दैनिक उपयोग को प्रभावित नहीं करेगा। आरंभ करने से पहले इसके बारे में जागरूक होना कुछ है।
रेगेक्स के विभिन्न संस्करण हैं जिन्हें "फ्लेवर" के रूप में जाना जाता है। ये विभिन्न संस्करण अभी भी बहुत समान हैं। यदि आप किसी एक फ्लेवर को पढ़ना और लिखना सीख सकते हैं, तो आपको उनमें से किसी को भी पढ़ने में सक्षम होना चाहिए। आपके रेगेक्स कोड को कैसे स्वरूपित किया जाना चाहिए, इसमें थोड़ा सा अंतर होगा।
प्रोग्रामिंग में, इन स्वरूपण बारीकियों को "वाक्यविन्यास" के रूप में जाना जाता है। जिस ऐप में आप इसे लिख रहे हैं, उसे समझने के लिए आपको उस कोड के लिए अपना कोड लिखना होगा।
यहां बताया गया है कि सिंटैक्स क्यों मायने रखता है
"अरे दोस्त, आपका दिन कैसा चल रहा है?"
", जा रहा है दोस्त? आपका दिन कैसे"
दोनों वाक्यों में समान शब्द, वर्ण और रिक्त स्थान हैं। हालाँकि, केवल एक ही समझ में आता है, और ऐसा इसलिए है क्योंकि यह पारंपरिक सिंटैक्स का अनुसरण कर रहा है।
कोडिंग में, एक प्रोग्रामिंग भाषा पहले संस्करण को समझ सकती है लेकिन दूसरी नहीं। दूसरी प्रोग्रामिंग भाषा के लिए, हालांकि, दूसरी पूरी तरह से समझ में आ सकती है जबकि पहली एक अस्पष्ट दिखती है। हालांकि, किसी ऐसे व्यक्ति के लिए जो अंग्रेजी बोल सकता है, आप शायद दोनों पंक्तियों के इरादे को समझ सकते हैं, भले ही इसका अर्थ निकालने के लिए आपको थोड़ी मेहनत करनी पड़े।
रेगेक्स के विभिन्न स्वादों की तरह यह (तरह का) है। वे सभी थोड़े अलग और आपसे थोड़े मिलते-जुलते दिखेंगे। लेकिन आप जिस ऐप का इस्तेमाल कर रहे हैं, उसके लिए आप सही फ्लेवर का इस्तेमाल कर रहे होंगे, वरना उस ऐप को कोई सुराग नहीं होगा कि आपने क्या लिखा है।
शॉर्टकट ऐप रेगेक्स के आईसीयू स्वाद को समझता है, इसलिए वह स्वाद है जिसका आप उपयोग करना चाहते हैं। Regex101.com साइट में कुछ भिन्न फ्लेवर हैं जिन्हें आप पृष्ठ के बाईं ओर से चुन सकते हैं। हालाँकि, यह PCRE का उपयोग करता है, जो कि ICU के समान ही है।
यह जानना महत्वपूर्ण है कि रेगेक्स के विभिन्न स्वाद हैं क्योंकि आप निस्संदेह ऑनलाइन विभिन्न स्वादों में भाग लेंगे। यदि आपको कुछ रेगेक्स मिलता है जिसे आप चोरी करना चाहते हैं लेकिन इसे शॉर्टकट के साथ काम नहीं कर सकते हैं, या यह सही नहीं दिखता है, तो जांचें कि इसमें किस स्वाद में लिखा गया है!
शॉर्टकट के साथ रेगेक्स सीखना शुरू करने में आपकी मदद करने के लिए वेबसाइटें और संदर्भ
रेगेक्स लिखने के वास्तविक यांत्रिकी की खोज शुरू करने से पहले एक और चीज जिसे मैं कवर करना चाहता हूं वह संसाधन है। मैं किसी भी तरह से यह दावा नहीं कर रहा हूं कि यह पोस्ट रेगेक्स सीखने पर एक संपूर्ण संसाधन है। यह केवल उन लोगों के लिए एक सहायक प्रारंभिक बिंदु होने के लिए है जो शॉर्टकट के साथ रेगेक्स का उपयोग करना चाहते हैं।
यदि आप रेगेक्स में गहराई से जाना चाहते हैं या महसूस करते हैं कि यह लेख आपको वह सहायता नहीं दे रहा है जिसकी आपको आवश्यकता है, तो आप इनमें से कुछ लेख, मार्गदर्शिकाएँ और टूल देख सकते हैं:
- https://regex101.com - एक वेबसाइट जो आपको रीयल-टाइम में अपने रेगेक्स कोड का परीक्षण करने देती है।
- https://www.shortcutfoo.com/app/dojos/regex/cheatsheet - एक धोखा पत्र जब आप भूल जाते हैं कि प्रत्येक चरित्र क्या करता है
- http://www.rexegg.com - यह वेबसाइट रेगेक्स के बारे में आपको जो कुछ भी जानने की जरूरत है उसे सीखने के लिए एक व्यापक संसाधन है। यदि आप रेगेक्स के साथ कुशल बनना चाहते हैं तो इसे देखें।
- https://scottwillsey.com/blog/ios/regex1/ - यह शॉर्टकट के साथ रेगेक्स का उपयोग करने पर चार-भाग वाली ब्लॉग श्रृंखला है। मैं इस गाइड से बहुत अलग दृष्टिकोण ले रहा हूं, इसलिए इसे इस लेख के लिए एक अच्छी साथी श्रृंखला बनानी चाहिए।
- स्टैक ओवरफ्लो और रेडिट दोनों अच्छी वेबसाइटें हैं जो आपके रेगेक्स प्रश्नों को साझा करने और सलाह और उत्तर प्राप्त करने के लिए प्रगति करती हैं।
ये संसाधन सूची में सूचीबद्ध संसाधनों से अलग हैं यदि आप शॉर्टकट ऐप के साथ रेगेक्स का उपयोग करना नहीं सीखना चाहते हैं अनुभाग के रूप में उन सभी के लिए आपको वास्तव में रेगेक्स सीखना शुरू करना होगा। वे अधिक व्यापक हैं, जबकि अन्य केवल संदर्भ बिंदु हैं।
शॉर्टकट के साथ रेगेक्स का उपयोग करके मूल पाठ खोज कैसे करें
ठीक है! अब हम उस बिंदु पर पहुंच गए हैं जिसका हर कोई इंतजार कर रहा है: हम शॉर्टकट के साथ रेगेक्स का उपयोग करने के मूल सिद्धांतों को सीखने जा रहे हैं।
आइए एक बुनियादी खोज से शुरू करें, क्योंकि यह सबसे आसान काम है जिसे आप रेगेक्स के साथ कर सकते हैं। जैसा कि पहले उल्लेख किया गया है, मैं अनुशंसा करता हूं कि regex101.com किसी अन्य टैब में खोला जाए ताकि आप साथ चल सकें।
अपने सबसे बुनियादी रूप में, रेगेक्स खोज करेगा (या मिलान) आप इसमें जो कुछ भी टाइप करते हैं। उदाहरण के लिए, अगर मुझे टाइप करना है ठीक है
मेरे रेगेक्स कोड के रूप में, इसे इस गाइड में "ठीक है" शब्द का हर उदाहरण मिलेगा।
केस, स्पेसिंग और विराम चिह्न मायने रखता है। इसका मतलब है कि ठीक है
, ठीक है
, ठीक है!
, तथा ठीक है ,
सभी अलग-अलग परिणाम देने जा रहे हैं।
और बस! जब भी आप किसी विशेष वर्ण का उपयोग किए बिना रेगेक्स खोज में कुछ टाइप करते हैं, तो रेगेक्स किसी भी चीज़ से मेल खाएगा जो आपके द्वारा टाइप की गई किसी भी चीज़ से बिल्कुल मेल खाता है।
एक पकड़ है! आपके कीबोर्ड पर कुछ वर्ण विशेष रेगेक्स वर्ण भी हैं। इसका मतलब है कि वे रेगेक्स कोड में किसी प्रकार का कार्य करते हैं।
NS ?
प्रतीक एक ऐसा चरित्र है। इसका उपयोग रेगेक्स कोड में क्वांटिफायर के रूप में किया जाता है। इसलिए यदि आप "ठीक है?" खोजने का प्रयास करते हैं। टाइप करके ठीक है?
आपके रेगेक्स कोड के रूप में, आपको वह नहीं मिलेगा जो आप चाहते हैं।
इसे ठीक करने के लिए, आपको यह निर्दिष्ट करना होगा कि आप "?" का उपयोग करना चाहते हैं। एक स्ट्रिंग के रूप में, एक विशेष चरित्र के रूप में नहीं। इस चरित्र या किसी अन्य के लिए ऐसा करने के लिए, बस जोड़ें \
चरित्र के ठीक पहले का प्रतीक जिसके विशेष गुणों को आप समाप्त करना चाहते हैं।
इसलिए यदि आप "ठीक है?" खोजना चाहते हैं। रेगेक्स के साथ, आपका कोड इस तरह दिखेगा:
ठीक है\?
यदि आप सुनिश्चित नहीं हैं कि रेगेक्स द्वारा किसी विशिष्ट वर्ण को विशेष वर्ण के रूप में माना जाता है, तो आप जाँच कर सकते हैं यह धोखा पत्र रेगेक्स में सभी विशेष पात्रों के लिए।
"या" वर्ण का उपयोग करके एक से अधिक शब्द खोजें
रेगेक्स के साथ स्ट्रिंग्स की खोज का एक अन्य महत्वपूर्ण घटक "या" फ़ंक्शन का उपयोग कर रहा है। यह एक ऐसा चरित्र है जिसे आप दो शब्दों/अक्षरों के बीच यह कहने के लिए रख सकते हैं, "इस या इस का मिलान करें।"
उदाहरण के लिए, यदि मैं "ठीक है" और "ठीक है" शब्द के लिए पाठ का मुख्य भाग खोजना चाहता हूं, तो मैं इसका उपयोग करूंगा |
चरित्र। इस तरह:
ठीक है|ठीक है
अगर आपको खोजने में मुश्किल हो रही है |
चरित्र, पकड़ो खिसक जाना कुंजी नीचे करें और दबाएं \
चाभी। यह ऊपर है वापसी अधिकांश कीबोर्ड पर कुंजी।
अपनी रेगेक्स खोजों में परिवर्तनशील घटकों को जोड़ना
ठीक है, तो अब जब आप जानते हैं कि तटस्थ रेगेक्स कैसा है, तो यह आपके पहले विशेष चरित्र को चुनने का समय है। वह वर्गाकार कोष्ठक होंगे, जो ये चीजें हैं []
.
आप इन कोष्ठकों के अंदर जो कुछ भी डालते हैं, उसे आपकी रेगेक्स खोज का एक परिवर्तनशील घटक माना जाएगा। आप जितने चाहें उतने अक्षर कोष्ठक में रख सकते हैं, हालाँकि प्रति मिलान केवल एक ही मान्य होगा।
ठीक है, यह थोड़ा जटिल लगता है, लेकिन ऐसा नहीं है! यहाँ यह व्यवहार में कैसा दिखता है:
-
[ठीक है
बस "ठीक है" शब्द से मेल खाएगा। व्यर्थ की तरह। -
[एबी] रोशनी
"ठीक है" और "उज्ज्वल" दोनों से मेल खाएगा। -
अलर [iouxyz] ght
"ठीक है", "ठीक है", "ठीक है", "अलरक्सघ्ट", और इसी तरह से मेल खाएगा।
आप कोष्ठक के भीतर वर्णों को जोड़ सकते हैं और साथ ही रेगेक्स की एक ही पंक्ति में कई कोष्ठकों का उपयोग कर सकते हैं। [एबी] आर [i1] घ [tuvwxyz]
रेगेक्स का एक वैध टुकड़ा है। उम्मीद है, हालांकि, यह उतना अराजक नहीं दिखता जितना कुछ मिनट पहले हो सकता था!
श्रेणियां आपकी खोज को विस्तृत कर सकती हैं
रेगेक्स का अगला बिट जो शॉर्टकट के साथ उपयोगी होगा वह है रेंज। श्रेणियां आपको वर्णों की एक श्रेणी निर्दिष्ट करने की अनुमति देती हैं जिन्हें आप स्वीकार करेंगे।
पिछले भाग में, आपने देखा होगा कि मेरे कोष्ठकों में लगातार बहुत सारे अक्षर शामिल थे। सबसे लंबा था [tuvwxyz]
. वे अक्षर वर्णमाला में उसी क्रम में, एक दूसरे के ठीक बगल में दिखाई देते हैं।
इसका मतलब है कि मैं उन्हें टाइप करने के बजाय एक श्रेणी का उपयोग कर सकता था। यह इस तरह दिखेगा:
ठीक है [टी-जेड]
रेगेक्स कोड का यह टुकड़ा वही काम करेगा जैसे ठीक है [tuvwxyz]
. यह सिर्फ साफ-सुथरा और लिखने में आसान है।
आप उसी श्रेणी को इसके साथ बदल सकते हैं [ए-जेड]
यदि आप चाहते हैं कि यह वर्णमाला के किसी भी छोटे अक्षर को स्वीकार करे। या आप इस्तेमाल कर सकते हैं [0-9]
यदि आप किसी एक अंक की संख्या को स्वीकार करना चाहते हैं।
आप एक ही ब्रैकेट में श्रेणियों को भी जोड़ सकते हैं। उदाहरण के लिए, यह अलर [i-ux-z] ght
स्वीकार करेगा "ठीक है", "ठीक है", "अलर्क्सघ्ट", और "अलरीघ्ट", लेकिन यह "अलराघ्ट" या "अलर्वेट" को स्वीकार नहीं करेगा।
"ठीक है" शब्द के अन्य रूपांतर हैं जिन्हें यह कोड स्वीकार करेगा, वैसे, और बहुत कुछ जो यह नहीं करेगा। चीजों को अच्छी तरह से छोटा रखने के लिए यह सिर्फ एक छोटा चयन है।
अगर आपको यह समझने में मुश्किल हो रही है कि क्या [मैं-उक्स-जेड]
इसका मतलब है, इसे इस तरह लिखा हुआ देखने में मदद मिल सकती है:
[मैं-यू, एक्स-जेड]
यह सही रेगेक्स सिंटैक्स नहीं है - आपको श्रेणियों को अलग करने के लिए अल्पविराम का उपयोग नहीं करना चाहिए। लेकिन उम्मीद है, इससे इसे और अधिक समझने में मदद मिलती है!
श्रेणियों को अलग करने के लिए आपको रेगेक्स में अल्पविराम की आवश्यकता नहीं है और आपको श्रेणियों को एक दूसरे के ठीक बगल में रखने की आवश्यकता नहीं है। आप इसे बदल सकते हैं [आई-यूएबीसीएक्स-जेड]
. यह पहले के साथ-साथ "ए", "बी" और "सी" वर्णों के समान श्रेणियों को स्वीकार करेगा।
शॉर्टकट के साथ अपनी रेगेक्स खोजों से शब्दों और वर्णों को कैसे निकालें
ठीक है, तो अब हम कहीं जा रहे हैं! यदि आपने अब तक इस लेख का अनुसरण किया है, तो आपको नीचे दिए गए कोड को देखने और यह समझने में सक्षम होना चाहिए कि यह किसके लिए मेल खाता है:
एपी [पी-आर] ले [टीटी] ओएल [बीबीएलएफ] ऑक्स
यदि आप इसे पढ़ सकते हैं, तो आप जानते हैं कि रेगेक्स कोड के टुकड़े में शामिल है ढेर सारा "AppleToolBox" शब्द के संभावित रूपांतरों के बारे में। तो क्या हुआ अगर हम अपनी सीमा में बदलाव किए बिना स्वीकार की जाने वाली विविधताओं की संख्या को कम करना चाहते हैं?
यहीं से "नहीं" चरित्र आता है। यह इस तरह दिख रहा है: ^
. अगर आपको इसे अपने कीबोर्ड पर ढूंढने में मुश्किल हो रही है (जैसे मैंने किया), तो होल्ड करें खिसक जाना और दबाएं 6 अपने कीबोर्ड पर कुंजी।
का उपयोग करने के लिए ^
चरित्र, इसे उस चरित्र की शुरुआत में रखें जिसे आप बहिष्कृत करना चाहते हैं।
कुछ पकड़ा गया है! NS ^
चरित्र रेगेक्स फ़ंक्शन के बाहर काम नहीं करता है। आप इसे केवल "ए" अक्षर के सामने नहीं रख सकते हैं ताकि यह आपकी खोज से उस अक्षर को बाहर कर दे। रेगेक्स कोड ^ए
बस एक राजधानी "ए" की खोज करेगा।
इसके बजाय, इसे कोष्ठक और अन्य रेगेक्स विशेष वर्णों के साथ संयोजित करें।
उदाहरण के लिए, यदि मैं "ठीक" शब्द के किसी भी उदाहरण की खोज करना चाहता हूं जो "ए" अक्षर से शुरू नहीं होता है, तो मैं कोड का उपयोग करूंगा [^ए]लाइट
.
आप इसे श्रेणियों के साथ भी जोड़ सकते हैं! बस इसे अपने ब्रैकेट की शुरुआत में रखें, और उस ब्रैकेट के भीतर कुछ भी, जिसमें श्रेणियां शामिल हैं, आपकी खोज से बाहर कर दी जाएंगी। इस तरह:
क्या होगा यदि आप अपनी खोज से किसी विशिष्ट शब्द को बाहर करना चाहते हैं?
मुझे यह जानकारी खोजने में मुश्किल हुई। एक स्टैक ओवरफ़्लो उपयोगकर्ता के पास समाधान था, हालांकि, और ऐसा लगता है:
^(?!(शब्द)$)।+$
बस बदलें शब्द
आप जिस भी शब्द को अपनी खोज से बाहर करना चाहते हैं। इस तरह:
आप उस स्टैक ओवरफ्लो पोस्ट को पढ़ सकते हैं यहां यदि आप इस विशिष्ट उपयोग के मामले में अधिक जानना चाहते हैं।
वाइल्डकार्ड आपको अधिक खोज विकल्प दे सकते हैं
यह हमें वाइल्डकार्ड में लाता है। वाइल्डकार्ड वर्ण, जो एक अवधि है .
, किसी एकल वर्ण का प्रतिनिधित्व करने के लिए प्रयोग किया जाता है, बार कोई नहीं। अगर आप बस टाइप करते हैं .
शॉर्टकट के साथ आपके रेगेक्स कोड के रूप में, यह टेक्स्ट के शरीर में प्रत्येक वर्ण को एक व्यक्तिगत मिलान के रूप में वापस कर देगा।
मैं निश्चित रूप से उस उद्देश्य के लिए इसका उपयोग करने की अनुशंसा नहीं करता! इसके बजाय, मैं एक शब्द में एकल वर्ण के स्थान पर इसका उपयोग करने की अनुशंसा करता हूं। उदाहरण के लिए, अल.घट
"ठीक है", "Alrxght", "Alr ." से मेल खाएगा
और बस यही सब है! वाइल्डकार्ड चरित्र को समझना बहुत आसान है। यह सब कुछ मेल खाता है! यह अद्वितीय वर्ण होने पर एक विशिष्ट प्रारूप से मेल खाने वाले तारों को खोजने में सहायक बनाता है।
ईमेल, उदाहरण के लिए, सभी समान होने के बिना बहुत समान दिखने वाले हैं। वाइल्डकार्ड आपको उन तत्वों को संयोजित करने में मदद कर सकता है जिन्हें आप जानते हैं (जैसे ".com" और "@") उन वर्णों के साथ जिन्हें आप नहीं जानते (जैसे "my_email567", iCloud, या "Gmail")।
एक और दिलचस्प उपयोग का मामला का उपयोग कर रहा है .
एक विशिष्ट लंबाई के तार खोजने के लिए चरित्र।
उदाहरण के लिए, यदि मैं पाठ के शरीर में प्रत्येक चार-वर्ण वाली स्ट्रिंग को खोजना चाहता हूं, तो मैं इसका उपयोग कर सकता हूं ...
दोनों तरफ एक जगह के साथ।
और यहाँ पाठ के उसी भाग में सात-वर्ण के सभी तार हैं:
ध्यान दें कि एक निश्चित लंबाई के तार खोजने के लिए यह एक आदर्श तरीका नहीं है। जैसा कि आप ऊपर के उदाहरणों में देख सकते हैं, कुछ तार मेल खाते हैं जो नहीं होने चाहिए, और कुछ जिन्हें अनदेखा किया जाना चाहिए था। यह याद रखना दिलचस्प है कि आप इसका उपयोग कर सकते हैं .
वर्ण गिनने के लिए वर्ण।
यह भी ध्यान रखें कि .
रेगेक्स में एक विशेष चरित्र है। इसका मतलब है कि आपको a. जोड़ना होगा \
इसके सामने अगर आप पीरियड्स सर्च करना चाहती हैं। इसका मतलब है कि आपको उपयोग करना होगा ठीक है\।
मिलान करने के लिए "ठीक है।"
आप जिस टेक्स्ट की तलाश कर रहे हैं उसकी लंबाई निर्दिष्ट करने के लिए क्वांटिफ़ायर का उपयोग करें
ठीक है, तो आप तकनीकी रूप से इसका उपयोग कर सकते हैं .
वर्ण एक स्ट्रिंग खोजने के लिए जो वर्णों की एक विशिष्ट संख्या लेता है। हालाँकि, अधिकांश समय, आप अधिक विशिष्ट होना चाहेंगे।
यहीं से क्वांटिफायर आते हैं। क्वांटिफ़ायर आपको शॉर्टकट के साथ रेगेक्स का उपयोग करते समय आपके द्वारा खोजी जा रही स्ट्रिंग की लंबाई निर्दिष्ट करने की अनुमति देता है।
उदाहरण के लिए, मान लें कि आप कोई ऐसा शब्द खोजना चाहते हैं जो विशेष रूप से तीन अक्षर लंबा हो। इसे निर्दिष्ट करने के लिए, आप इन कोष्ठकों का उपयोग करना चाहेंगे:
{}
जब आप इन कोष्ठकों को इनके बाद रखते हैं []
कोष्ठक, आप निर्दिष्ट कर रहे हैं कि आप एक स्ट्रिंग चाहते हैं जो इसके अंदर वर्णों की संख्या से मेल खाती है {}
और इसमें निर्दिष्ट वर्णों की श्रेणी []
.
मुझे यकीन है कि अब इसका कोई मतलब नहीं है, तो आइए एक उदाहरण देखें!
मान लें कि आप टेक्स्ट के मुख्य भाग में उल्लिखित किसी भी वर्ष को खोजना चाहते हैं। चूँकि एक वर्ष में चार संख्याएँ होती हैं (जाहिर है हर साल हर समय से नहीं, बस मुझे यहाँ फॉलो करें), आप इस कोड का उपयोग उस पाठ के वर्षों के मिलान के लिए कर सकते हैं:
[0-9]{4}
यह कोड कह रहा है कि हम 0 से 9 तक के वर्णों से बनी एक स्ट्रिंग चाहते हैं जो विशेष रूप से चार वर्ण लंबी हो। आप निम्न स्क्रीनशॉट में देख सकते हैं कि यह इस विशिष्ट स्ट्रिंग का पता कैसे लगाता है:
मुझे ध्यान देना चाहिए कि इस रेगेक्स कोड के साथ कुछ समस्याएं हैं, और वह यह है कि यह रिक्त स्थान या विराम चिह्न के लिए जिम्मेदार नहीं है। इसलिए यदि कोड को चार वर्णों से अधिक लंबी संख्या मिलती है, जैसे "12345678", तो उसे स्ट्रिंग "1234" और स्ट्रिंग "5678" मिलेगी।
इस समस्या को ठीक करने के लिए, आप कोड की शुरुआत में एक स्पेस और उसके बाद एक ब्रैकेट जोड़ना चाहेंगे {4}
जिसमें एक और स्थान, एक अवधि, एक प्रश्न चिह्न, एक अल्पविराम और एक विस्मयादिबोधक बिंदु शामिल है। इस तरह, यह संख्याओं के लंबे तारों को बिना किसी स्थान के अंत में विराम चिह्न वाली संख्याओं के लापता तारों के बिना अनदेखा कर देगा।
आप स्ट्रिंग की एक से अधिक लंबाई निर्दिष्ट करने के लिए क्वांटिफ़ायर का उपयोग करना चाह सकते हैं। उदाहरण के लिए, शायद मैं लंबाई में चार वर्ण, लेकिन सात और ग्यारह भी एक स्ट्रिंग खोजना चाहता हूं। यहाँ यह कैसा दिखेगा:
[ए-जेड]{4,7,11}
कुछ और क्वांटिफ़ायर हैं जिनके बारे में आप जानना चाहेंगे
ठीक है, तो अभी और भी परिमाणक हैं! ये अंतिम कुछ क्वांटिफ़ायर तब होते हैं जब आप बहुत विशिष्ट होने के बिना एक स्ट्रिंग की लंबाई निर्दिष्ट करना चाहते हैं।
उदाहरण के लिए, मान लें कि आप रेगेक्स से मेल खाने वाली किसी भी लंबाई की स्ट्रिंग ढूंढना चाहते हैं। एक नाम की तरह! नाम (पश्चिमी देशों में) एक बड़े अक्षर से शुरू होते हैं और एक यादृच्छिक मात्रा में लोअरकेस अक्षरों के साथ समाप्त होते हैं, इसके बाद एक स्थान होता है। एक नाम खोजने के लिए, आप निम्नलिखित कोड लिखेंगे:
[ए-जेड] [ए-जेड] *
[ए-जेड]
निर्दिष्ट करता है कि स्ट्रिंग का पहला अक्षर एक बड़ा अक्षर होना चाहिए। [ए-जेड]*
निर्दिष्ट करता है कि शेष स्ट्रिंग लोअरकेस अक्षरों से बना होना चाहिए, लेकिन इससे कोई फ़र्क नहीं पड़ता कि कितने अक्षर अनुसरण करते हैं। और अंत में स्पेस का मतलब है कि लोअरकेस अक्षरों के अंत में एक स्थान मिलने के बाद यह मैच को समाप्त कर देगा।
रेगेक्स में एक सुनहरा कॉम्बो है .*
. इसका मतलब है कि किसी भी चरित्र का असीम रूप से मिलान करें। दूसरे शब्दों में, यह टेक्स्ट की पूरी बॉडी से एक आइटम के रूप में मेल खाएगा।
अगला क्वांटिफ़ायर जिसे आपको जानना आवश्यक है वह है +
. यह एक ऐसा ही है *
सिवाय इसके कि यह शून्य वर्णों वाली स्ट्रिंग से मेल नहीं खाएगा। *
स्ट्रिंग की किसी भी लंबाई से मेल खाएगा, जिसमें ऐसे तार शामिल हैं जिनकी लंबाई नहीं है। +
दूसरी ओर, कम से कम एक वर्ण या अधिक के साथ एक स्ट्रिंग की आवश्यकता होती है।
अंत में, वहाँ है ?
परिमाणक यह एक अजीब है। यह निर्दिष्ट करता है कि एक स्ट्रिंग या तो लंबाई में शून्य वर्ण या लंबाई में एक वर्ण है। बस इतना ही - या तो कुछ नहीं या सिर्फ एक। इसलिए यदि आप कोड का उपयोग करते हैं [ए-जेड]?
शुरुआत और अंत में एक स्थान के साथ, यह टेक्स्ट के मुख्य भाग के भीतर एकल अक्षरों की तलाश करेगा।
पाठ की एक स्ट्रिंग के आरंभ और अंत में वर्णों की खोज करें
हम शॉर्टकट के साथ रेगेक्स का उपयोग करने पर अपनी मार्गदर्शिका के अंत के करीब हैं! शॉर्टकट के साथ आप केवल दो और प्रकार के रेगेक्स कोड का उपयोग करेंगे।
पहले वर्ण हैं जो आपको स्ट्रिंग्स से मिलान करने की अनुमति देते हैं कि वे कैसे शुरू होते हैं और/या समाप्त होते हैं।
जब यह कोष्ठक में नहीं है, तो ^
चरित्र की भूमिका "बहिष्कृत" से "शुरू होने" के अर्थ में बदल जाती है। यह निर्दिष्ट करता है कि एक स्ट्रिंग जो आप चाहते हैं उसके साथ शुरू होनी चाहिए। उदाहरण के लिए, यदि आप लिखते हैं ^ए
, जो "A" अक्षर से "ठीक है", "Apple" और "A" से मेल खाएगा।
हालांकि यह पूरे शब्द से मेल नहीं खाता। उसके लिए, आपको इसे बदलने की आवश्यकता होगी ^ए[ए-ज़ा-जेड]*
. वह पैराग्राफ/स्ट्रिंग के पहले शब्द से मेल खाएगा, जब तक कि वह शब्द पूंजी "ए" से शुरू होता है।
एक साइड नोट के रूप में, आप लिख सकते हैं [ए-ज़ा-जेड]
जैसा [ए-जेड]
. इसका मतलब वही है, जब आप सीख रहे होते हैं तो मुझे लगता है कि पहला थोड़ा स्पष्ट है।
स्ट्रिंग के अंत को निर्दिष्ट करने के लिए, आप का उपयोग करना चाहेंगे $
चरित्र। यह उसी तरह काम करता है जैसे ^
चरित्र। फर्क सिर्फ इतना है कि आप इसे शुरुआत के बजाय ब्रैकेट/स्ट्रिंग के अंत में लिखते हैं।
उदाहरण के लिए, यदि आप "ले" के साथ समाप्त होने वाले तार/पैराग्राफ ढूंढना चाहते हैं, तो आप कोड का उपयोग करेंगे [ए-जेड]*ले$
. यह "टेबल", "सेब" और "सक्षम" से मेल खाएगा, जब तक कि वे एक स्ट्रिंग या पैराग्राफ के अंत में हों।
यदि स्ट्रिंग के अंत में कोई स्थान या विराम चिह्न है तो Regex भी इस मैच को अस्वीकार कर देगा। "टेबल।" इस कोड से मेल नहीं खाएगा।
इसे ठीक करने के लिए, आप विराम चिह्न लगा सकते हैं। यह कोड विभिन्न प्रकार के विराम चिह्न और रिक्ति के लिए खाता है जो एक स्ट्रिंग के अंत में हो सकता है, जिसमें एक विराम चिह्न के बाद एक स्थान शामिल है:
[ए-जेड]*(ले[\.\?!,]?[ ]?)$
वह कोड "सक्षम", "तालिका।", "स्थिर", और "सक्षम" से मेल खाएगा? “.
शॉर्टकट के साथ रेगेक्स के ग्रुपिंग फ़ंक्शन का उपयोग करके टेक्स्ट स्ट्रिंग्स को स्टोर करें
ठीक है! आपने शॉर्टकट के साथ रेगेक्स का उपयोग करने के बारे में हमारे AppleToolBox गाइड के अंत में इसे बनाया है। सीखने के लिए बस एक और रेगेक्स फ़ंक्शन बचा है, और वह है समूह बनाना।
समूहीकरण यकीनन रेगेक्स की सबसे महत्वपूर्ण विशेषता है क्योंकि यह आपको आपके द्वारा लिखे गए रेगेक्स कोड के साथ काम करने की अनुमति देता है। इसके बिना, रेगेक्स सिर्फ एक खोज सुविधा है। यह आपको केवल यह बता सकता है कि टेक्स्ट के बड़े हिस्से में कोई स्ट्रिंग मौजूद है, यानी, यह "सत्य" या "गलत" लौटाएगा।
हालांकि, समूहीकरण के साथ, आप अपने रेगेक्स कोड के परिणाम संग्रहीत कर सकते हैं। और इसका मतलब है कि आप मैचों की प्रतिलिपि बना सकते हैं, उन्हें चर में संग्रहीत कर सकते हैं, उन्हें अन्य पाठ के साथ बदल सकते हैं, उनके स्वरूपण को संशोधित कर सकते हैं, और बाकी सब कुछ जो आप रेगेक्स के साथ करना चाहते हैं।
सौभाग्य से, समूह बनाना बहुत आसान है! आप जो भी समूह बनाना चाहते हैं उसे कोष्ठक में डालें ()
. आप जो कुछ भी कोष्ठक में रखेंगे, उसे एक समूह के रूप में माना जाएगा।
यदि आप कोष्ठक के अंदर रेगेक्स कोड की पूरी लाइन डालते हैं, जैसे (.*@.*\..{3})
, तो वह समूह आपके कोड द्वारा याद किया जाएगा, जो इसे बाद में लाइन के नीचे वापस बुलाए जाने की अनुमति देगा।
यह महत्वपूर्ण है कि जब भी आपको आवश्यकता हो आप केवल समूहों का उपयोग करें। चूंकि वे मेमोरी में संग्रहीत हैं, इसलिए वे आपके कोड के प्रदर्शन को कम कर सकते हैं। जब जरूरत हो तब समूहों को बचाएं!
आप संगठन के लिए भी समूहों का उपयोग कर सकते हैं
आप शॉर्टकट के साथ अपने रेगेक्स कोड को व्यवस्थित करने के लिए समूहों का भी उपयोग कर सकते हैं। जब आप ऐसा करते हैं, तो जरूरी नहीं कि कोष्ठक के अंदर के समूह को याद रखा जाए।
उदाहरण के लिए, मान लीजिए कि मैं "हैलो" शब्द से मेल खाना चाहता हूं, सिवाय इसके कि मुझे परवाह नहीं है कि आखिरी अक्षर क्या है। यह कोई भी लोअरकेस या अपरकेस अक्षर या एक संख्या भी हो सकती है। "Hell3838djdjajaksks" और "Hello" को मैचों के रूप में गिना जाना चाहिए। दूसरी ओर, "नरक" की गणना नहीं की जानी चाहिए।
यह काम करने के लिए, मैं कोड लिखता हूं नर्क[ए-जेड]|[0-9]+
. लेकिन यह वह परिणाम है जो मुझे मिलता है:
जिस तरह से मैंने उम्मीद की थी उससे मेल नहीं खाने का कारण यह है कि +
केवल पर लागू किया जा रहा है [0-9]
ब्रैकेट। मुझे इसे दोनों ब्रैकेट पर लागू करने की ज़रूरत है।
इसके अतिरिक्त, यह कोड कह रहा है कि मुझे या तो चाहिए नरक [ए-जेड]
या[0-9]
. तो यह उन शब्दों से मेल खाता है जो "नरक" से शुरू होते हैं और एक अक्षर के साथ समाप्त होते हैं, या यह संख्याओं के किसी भी तार की तलाश में है। मुझे वास्तव में इसकी आवश्यकता है कि यह "नरक" शब्द के उदाहरणों से मेल खाए जो एक अक्षर या संख्या के साथ समाप्त होता है।
इसे ठीक करने के लिए, मैं एक समूह का उपयोग कर सकता हूं और कोड को फिर से लिख सकता हूं नर्क([ए-जेड]|[0-9])+
. अब, यह किसी भी अक्षर या संख्या के बाद "नरक" शब्द की तलाश में है। और क्योंकि +
दोनों कोष्ठकों पर लागू होता है, यह अक्षरों और संख्याओं का कोई भी संयोजन हो सकता है, जब तक कि कम से कम एक अक्षर या संख्या मौजूद हो।
जैसा कि आप नीचे स्क्रीनशॉट में देख सकते हैं, यह समूह आवश्यक रूप से उस समूह के भीतर जानकारी संग्रहीत किए बिना मेरी समस्या का समाधान करता है:
अब क्या?
और बस! शॉर्टकट के साथ रेगेक्स का उपयोग करने के बारे में आप लगभग सब कुछ जानना चाहते हैं। उम्मीद है, अब आप रेगेक्स के साथ प्रयोग शुरू करने के लिए पर्याप्त आत्मविश्वास महसूस करते हैं, भले ही यह आपको पहले समझ में न आए।
अब जब आप रेगेक्स की मूल बातें जानते हैं, तो आप इसे अपने शॉर्टकट में उपयोग करना शुरू करने के लिए तैयार हैं! शॉर्टकट निम्नलिखित क्रियाओं में रेगेक्स इनपुट स्वीकार करता है:
- पाठ का मिलान करें
- टेक्स्ट बदलें
इन दो शॉर्टकट क्रियाओं का उपयोग करके, आप अपने शॉर्टकट में रेगेक्स सम्मिलित कर सकते हैं।
इसे शॉर्टकट की स्वचालन क्षमताओं के साथ जोड़ें, और आपके पास अपने निपटान में एक बहुत शक्तिशाली उपकरण है।
शॉर्टकट में टेक्स्ट को आसान बनाने के लिए, ईमेल, टेक्स्ट, वेबसाइट से जानकारी खींचने के लिए आप रेगेक्स का उपयोग कर सकते हैं। फ़ाइलें, और कैलेंडर ईवेंट, एक निर्दिष्ट प्रारूप का पालन करने वाला टेक्स्ट बनाएं, जांचें कि इनपुट सही ढंग से दर्ज किया गया था, और अधिक।
उदाहरण के लिए, मान लें कि आप ईमेल के लिए मिलान करना चाहते हैं। हो सकता है कि आपको यह जाँचने की आवश्यकता हो कि पाठ की एक स्ट्रिंग एक ईमेल है, या हो सकता है कि आप पाठ के मुख्य भाग से एक ईमेल निकालना चाहते हों।
आप इसे कैसे तोड़ेंगे?
ठीक है, आप जानते हैं कि ईमेल की मूल संरचना अक्षरों, संख्याओं और वर्णों का कुछ संयोजन होगा, उसके बाद "@" प्रतीक होगा, फिर उसके बाद जीमेल या आईक्लाउड जैसी वेबसाइट का नाम आता है, जिसके बाद ".com", ".org", या किसी अन्य प्रकार के तीन-वर्ण शीर्ष-स्तर का अनुसरण किया जाता है कार्यक्षेत्र।
इसे रेगेक्स में लिखने के लिए, आपको यह निर्दिष्ट करने की आवश्यकता है कि आप कम से कम एक वर्ण लंबी स्ट्रिंग चाहते हैं जिसका तुरंत पालन किया जाता है "@" प्रतीक द्वारा, फिर कम से कम एक वर्ण की एक और स्ट्रिंग, उसके बाद "।", उसके बाद तीन की एक स्ट्रिंग पात्र। यह इस तरह दिखेगा:
[ईमेल संरक्षित]+\..{3}
यदि आप इसे में पेस्ट करते हैं पाठ का मिलान करें या टेक्स्ट बदलें शॉर्टकट में कार्रवाइयां, आपके पास एक स्वचालन होगा जो एक ईमेल पते को ढूंढ सकता है, संग्रहीत कर सकता है और उसमें हेरफेर कर सकता है।
आप इस तरह की समस्या-समाधान का उपयोग अपने स्वयं के रेगेक्स समाधानों के साथ आने के लिए कर सकते हैं या कुछ को खोजने के लिए जो दूसरों ने ऑनलाइन किया है!
अपने ऑटोमेशन को अगले स्तर पर ले जाने के लिए शॉर्टकट के साथ रेगेक्स का उपयोग शुरू करें
और वह, दोस्तों, वास्तव में ऐसा है। मुझे आशा है कि आपको इस लेख के साथ अनुसरण करने में मज़ा आया होगा! यह AppleToolBox के लिए मेरे द्वारा लिखे गए अधिक महत्वाकांक्षी टुकड़ों में से एक है। मुझे इसे लिखने के लिए खुद को रेगेक्स सिखाना पड़ा, और मुझे आशा है कि ऐसा करने में, मैं इसे सीखने में आपकी मदद करने में सक्षम था।
शॉर्टकट के साथ रेगेक्स का उपयोग करना आपके स्मार्टफोन या कंप्यूटर पर कुछ और करना सीखने से अलग नहीं है। बस कुछ समय और धैर्य रखें, और अंत में, आप वहां पहुंच जाएंगे।
Apple की सभी चीज़ों के बारे में अधिक गाइड, ट्यूटोरियल और समाचारों के लिए, बाकी की जाँच करें AppleToolBox ब्लॉग.
ठीक है [ए-जेड][ए-जेड]+
, मैं आपको अगली बार देखूंगा!