Java Regex - रेगुलर एक्सप्रेशन क्या हैं और इसका उपयोग कैसे करें?



जावा रेगेक्स एक एपीआई है जिसका उपयोग स्ट्रिंग्स को खोजने या हेरफेर करने के लिए एक पैटर्न को परिभाषित करने के लिए किया जाता है। यह लेख जावा द्वारा प्रदान की गई नियमित अभिव्यक्तियों के विभिन्न वर्गों के बारे में भी बात करेगा।

डेटा निष्कर्षण या सत्यापन हर प्रोग्रामिंग भाषा का एक महत्वपूर्ण पहलू है। डेटा सत्यापन के लिए सबसे लोकप्रिय तरीकों में से एक नियमित अभिव्यक्ति का उपयोग करके है। इन का उपयोग करता हैवर्णों के पैटर्न का वर्णन करने के लिए नियमित अभिव्यक्ति। इस लेख पर जावा रेगेक्स निम्नलिखित अनुक्रम में अभिव्यक्ति का उपयोग करने के विभिन्न तरीकों को सूचीबद्ध करेगा:

आएँ शुरू करें!





रेगुलर एक्सप्रेशन क्या हैं?

सेवा मेरे नियमित अभिव्यक्ति वर्णों का एक क्रम है जो एक खोज पैटर्न का निर्माण करता है। जब आप किसी पाठ में डेटा खोजते हैं, तो आप जो खोज रहे हैं उसका वर्णन करने के लिए आप इस खोज पैटर्न का उपयोग कर सकते हैं।

रेगुलर एक्सप्रेशंस - जावा रेगेक्स - एडुर्का



एक नियमित अभिव्यक्ति एक हो सकती है एकल चरित्र या अधिक जटिल पैटर्न। इसका उपयोग किसी भी प्रकार के टेक्स्ट सर्च और टेक्स्ट रिप्लेस ऑपरेशंस के लिए किया जा सकता है। रेगेक्स पैटर्न में सरल वर्ण होते हैं, जैसे कि / एबीसी / , या सरल और विशेष वर्णों का एक संयोजन, जैसे कि / ab * c / या /example(d+).d*_

Java Regex क्या है?

जावा रेगेक्स एक एपीआई है जिसका उपयोग किया जाता है खोज या हेरफेर करने के लिए एक पैटर्न परिभाषित करें । इसका उपयोग पासवर्ड और ईमेल सत्यापन जैसे स्ट्रिंग्स पर बाधा को परिभाषित करने के लिए व्यापक रूप से किया जाता है।

जावा रेगेक्स का उपयोग करने के विभिन्न तरीके हैं। तो चलिए आगे बढ़ते हैं और विभिन्न भावों पर एक नज़र डालते हैं।



मिलान करने वाला वर्ग

इस वर्ग का उपयोग चरित्र अनुक्रम पर मैच संचालन करने के लिए किया जाता है। नीचे तालिका मिलानकर्ता वर्ग के विभिन्न तरीकों का प्रतिनिधित्व करती है।

c ++ में नेमस्पेस क्या है
तरीका विवरण
बूलियन मैच () टेस्ट दिए गए नियमित अभिव्यक्ति पैटर्न से मेल खाते हैं या नहीं
बूलियन खोजें () पैटर्न से मेल खाने वाली अगली अभिव्यक्ति खोजने के लिए उपयोग किया जाता है
बूलियन मिल (इंट स्टार्ट) दी गई शुरुआत संख्या से पैटर्न से मेल खाने वाली अगली अभिव्यक्ति को खोजता है
स्ट्रिंग समूह () मिलान किए गए बाद को वापस करने के लिए उपयोग किया जाता है
इंट स्टार्ट () मिलान की हुई अनुक्रमणिका का आरंभिक सूचकांक लौटाता है
इरादा करना() मिलान की गई अनुक्रमणिका के अंत इंडेक्स को लौटाता है
int groupCount () मिलान किए गए परिणाम की कुल संख्या लौटाता है

पैटर्न क्लास

पैटर्न क्लास नियमित अभिव्यक्ति का एक संकलित संस्करण है जो रेगेक्स इंजन के पैटर्न को परिभाषित करने के लिए उपयोग किया जाता है।

तरीका विवरण
स्थिर पैटर्न संकलन (स्ट्रिंग रेगेक्स) यह दिए गए rexx को संकलित करता है और पैटर्न का उदाहरण देता है
माचिस मेल खाता है इसका उपयोग एक मिलान बनाने के लिए किया जाता है जो पैटर्न के साथ दिए गए इनपुट से मेल खाता है
स्टेटिक बूलियन मैच (स्ट्रिंग रेगेक्स, चारसेंसेंस इनपुट) यह संकलन और मिलान के तरीकों के संयोजन के रूप में काम करता है। यह नियमित अभिव्यक्ति संकलित करता है और दिए गए इनपुट को पैटर्न के साथ मेल खाता है
स्ट्रिंग [] विभाजन (इनपुट इनपुट) दिए गए इनपुट को विभाजित करने के लिए उपयोग किया जाता है स्ट्रिंग एक दिए गए पैटर्न के मैचों के आसपास
स्ट्रिंग पैटर्न () रेगेक्स पैटर्न को वापस करने में मदद करता है

अब एक छोटा सा उदाहरण लेते हैं कि एक नियमित अभिव्यक्ति कैसे लिखी जाए।

import java.util.regex। * public class RegexExample {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {प्रतिमान पैटर्न = pattern.compile ('। xx।') Matcher matcher = pattern.mor ('AxxB') System.out। .println ('दिए गए Regex - + matcher.matches ())} से मेल खाता है}

इस मामले में, आंतरिक रूप से यह पैटर्न और मिलान का उपयोग करता है रेगेक्स कक्षाएं प्रसंस्करण करने के लिए लेकिन जाहिर है,यह कोड लाइनों को कम करता है। पैटर्न वर्ग में मैच विधि भी होती है जो रेगेक्स और इनपुट स्ट्रिंग को तर्क के रूप में लेती है और मिलान के बाद बूलियन परिणाम देती है। तो कोड इनपुट मिलान के लिए ठीक काम करता है जावा में एक नियमित अभिव्यक्ति के साथ। इसलिए आउटपुट नीचे दिखाए गए अनुसार सही होगा।

आउटपुट:
सच

दृश्य स्टूडियो के साथ शुरुआत करना

अब जावा रेगुलर एक्सप्रेशंस की कुछ और श्रेणियां देखते हैं।

रेगेक्स चरित्र वर्ग

नीचे दी गई तालिका विभिन्न चरित्र वर्ग संयोजन का प्रतिनिधित्व करती है।

चरित्र वर्गविवरण
[एबीसी] ए, बी, या सी (सरल वर्ग)
[^ abc] किसी भी वर्ण को a, b, या c (नकार) को छोड़कर
[a-zA-Z] Z के माध्यम से एक या Z के माध्यम से, समावेशी (रेंज)
[ए-डी [एम-पी]] p के माध्यम से d, या m: [a-dm-p] (संघ)
[a-z && [def]] डी, ई, या एफ (चौराहा)
[a-z && [^ bc]] एक थ्रू z, b और c को छोड़कर: [ad-z] (घटाव)
[a-z && [^ m-p]] z के माध्यम से, और p के माध्यम से नहीं m: [a-lq-z] (घटाव)

उदाहरण:

आयात java.util.regex। * सार्वजनिक वर्ग CharacterExample {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {// असत्य (x या y या z) System.out.println (Pattern.matches ('xyz]'), 'wbcd')) // true (x या y या z के बीच) System.out.println (Pattern.matches ('[xyz]', 'x')) // false (x और y एक से अधिक बार आता है) System .out.println (Pattern.matches ('[xyz]', 'xxyyyyyz'))}}

रेगेक्स क्वांटिफायर

क्वांटिफायर एक चरित्र की घटनाओं की संख्या निर्दिष्ट करते हैं। नीचे दी गई तालिका विभिन्न मात्रात्मक का प्रतिनिधित्व करती है।

रेगेक्सविवरण
एक्स? X एक बार होता है या बिल्कुल नहीं होता है
एक्स + X एक या अधिक बार होता है
एक्स * X शून्य या अधिक बार होता है
X {n} एक्स केवल एन बार होता है
एक्स {एन,} X n या अधिक बार होता है
X और Z} X कम से कम y बार होता है लेकिन z समय से कम होता है

उदाहरण:

अजगर में कार्य करने के लिए जाओ
आयात java.util.regex। * सार्वजनिक वर्ग उदाहरण {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {System.out.println ('? quantifier ....') // (या एक या y या z एक समय आता है) System.out.println (Pattern.matches ('[ayz]?', 'A') // output: true System.out.println (pattern.matches ('[ayz]?', 'Aaa)) /? / (ay और z एक से अधिक बार आता है) System.out.println (Pattern.matches ('[ayz]?', 'ayyyzz')) // output: false // (एक से अधिक बार आता है) सिस्टम। out.println (Pattern.matches ('[ayz]?,' amnta ')) // output: false // (या या y या z एक बार आना होगा) System.out.println (Pattern.matches (' [] ayz]? ',' ay ')) // आउटपुट: false System.out.println (' + quantifier .... ') // (या एक या अधिक बार या अधिक बार) System.out.println (पैटर्न .matches ('[ayz] +', 'a') // आउटपुट: true // (एक से अधिक बार आता है) System.out.println (Pattern.matches ('[ayz] +', 'aaa) )) // outpu: true // (a या y या z एक से अधिक बार आता है) System.out.println (Pattern.matches ([amn] + ',' ayyyzz ')) // output: true // (z और t पैटर्न से मेल नहीं खा रहे हैं) System.out.println (Pat) tern.matches ('[ayz] +', 'aammta')) // आउटपुट: गलत System.out.println ('* क्वांटिफायर ....') // (या या y या z शून्य या अधिक बार आ सकता है ) System.out.println (Pattern.matches ('[ayz] *', 'ayyyza')) // output: true}}

मूल रूप से, यह मिलान मात्रात्मक के लिए खोज करेगा और खोज परिणाम से मेल खाता है।

रेगेक्स मेटाचैकर

नियमित अभिव्यक्ति मेटाचैकर शॉर्टकोड के रूप में काम करते हैं। आइए विभिन्न प्रकार के मेटाचैकर्स को समझने के लिए नीचे दी गई तालिका पर एक नज़र डालें।

रेगेक्सविवरण
यह कोई भी चरित्र हो सकता है (टर्मिनेटर से मेल नहीं खा सकता है या नहीं)
d किसी भी अंक का प्रतिनिधित्व करता है, [0-9] से कम
डी किसी गैर-अंक का प्रतिनिधित्व करता है, [^ 0-9] के लिए छोटा
एस किसी भी व्हाट्सएप चरित्र का प्रतिनिधित्व करता है, [tnx0Bfr] के लिए छोटा
एस यह एक गैर-व्हाट्सएप चरित्र हो सकता है, [^ s] के लिए छोटा
में है यह एक शब्द चरित्र हो सकता है, [a-zA-Z_0-9] के लिए छोटा
में किसी भी गैर-शब्द चरित्र का प्रतिनिधित्व करता है, [^ w] के लिए छोटा
बी एक शब्द सीमा का प्रतिनिधित्व करता है
बी यह एक गैर-शब्द सीमा है

उदाहरण:

आयात java.util.regex। * सार्वजनिक वर्ग MetacharExample {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {// d का अर्थ है अंक System.out.println ('metacharacters d ....') // (गैर-अंक) System.out.println (Pattern.matches ('d', 'abc')) // Output: false // (अंक और एक बार आता है) System.out.println (Pattern.matches ('d', '1') ) // आउटपुट: सच // (डिजिट लेकिन एक से अधिक बार आता है) System.out.println (Pattern.matches ('d', '4443')) // आउटपुट: गलत // (अंक और चार) System.out .println (Pattern.matches ('d', '323abc')) // आउटपुट: false // D का अर्थ है गैर-अंक System.out.println ('metacharacters D ....') // (गैर-अंक लेकिन एक से अधिक बार आता है) System.out.println (Pattern.matches ('D', 'abc')) // आउटपुट: false // इसका एक डिजिट System.out.println (Pattern.matches ('D', '1) ')) // आउटपुट: गलत System.out.println (Pattern.matches (' D ',' 4443 ')) // आउटपुट: false // (digit और char) System.out.println (Pattern.matches (') D ',' 323abc ')) // आउटपुट: गलत // (गैर-अंक और एक बार आता है) System.out.println (Pattern.matches (' D ',' m ')) // आउटपुट: true System.out .pr intln ('क्वांटिफायर के साथ मेटाकट्रैक्टर्स डी ...') // (गैर-अंक और 0 या अधिक बार आ सकता है) System.out.println (Pattern.matches ('D *', 'abc')) // आउटपुट : सच } }

उपर्युक्त शर्तों के आधार पर, यह आउटपुट प्रदर्शित करेगा। यह वैसे काम करता है। तो, यह सब विभिन्न प्रकार के बारे में था रेगेक्स इसके साथ, हम इस लेख के अंत में आते हैं। मैंआशा है कि आपको यह जानकारीपूर्ण लगी। यदि आप और अधिक जानने की इच्छा रखते हैं, तो आप हमारी जाँच कर सकते हैं भी।

इसकी जाँच पड़ताल करो 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। हम यहां आपकी यात्रा में हर कदम पर आपकी मदद करने के लिए हैं, इस साक्षात्कार साक्षात्कार के अलावा बनने के लिए, हम एक पाठ्यक्रम के साथ आते हैं, जो छात्रों और पेशेवरों के लिए बनाया गया है, जो जावा डेवलपर बनना चाहते हैं।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस 'जावा रेगेक्स' लेख के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।