Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

गैर कैप्चरिंग समूह जावा रेगुलर एक्सप्रेशन:


कैप्चरिंग समूहों का उपयोग करके आप एकाधिक वर्णों को एक इकाई के रूप में मान सकते हैं। आपको बस वर्णों को कोष्ठकों के एक समूह के अंदर समूहीकृत करने की आवश्यकता है। उदाहरण के लिए -

(.*)(\\d+)(.*)

यदि आप एक से अधिक समूहों का मिलान करने का प्रयास कर रहे हैं तो प्रत्येक समूह के मिलान परिणाम कैप्चर किए जाते हैं। आप समूह के संबंधित समूह संख्या को समूह () विधि में पास करके परिणाम प्राप्त कर सकते हैं। 1,2, 3 आदि.. (दाएं से बाएं) समूह 0 पूरे मैच को इंगित करता है।

उदाहरण

आयात करें इनपुट टेक्स्ट दर्ज करें"); स्कैनर एससी =नया स्कैनर (System.in); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="(.*)(\\d+)(.*)"; // एक पैटर्न ऑब्जेक्ट बनाएं पैटर्न पैटर्न =Pattern.compile(regex); // अब मैचर ऑब्जेक्ट बनाएं। मैचर मैचर =पैटर्न। मैचर (इनपुट); if (matcher.find ( )) { System.out.println ("मान मिला:" + matcher.group (0)); System.out.println ("मान मिला:" + matcher.group(1) ); System.out.println ("मूल्य मिला:" + matcher.group (2)); System.out.println ("मूल्य मिला:" + matcher.group (3)); } और { System.out.println ("कोई मिलान नहीं"); } }}

आउटपुट

मध्य में 1234 (अंकों) के साथ इनपुट टेक्स्टनमूना डेटा दर्ज करेंफाउंड मान:मध्य में 1234 (अंकों) के साथ नमूना डेटाफाउंड मान:123फाउंड मान के साथ नमूना डेटा:4मिला मान:(अंक) बीच में

गैर कैप्चरिंग समूह

गैर-कैप्चरिंग समूह कैप्चरिंग समूह की समान कार्यक्षमता प्रदान करता है लेकिन यह परिणाम कैप्चर नहीं करता है

उदाहरण के लिए, यदि आपको समूहों का उपयोग करते हुए किसी पाठ से URL या फ़ोन नंबर का मिलान करने की आवश्यकता है, क्योंकि वांछित उप-स्ट्रिंग का प्रारंभिक भाग समान है, तो आपको कुछ समूहों के परिणामों को कैप्चर करने की आवश्यकता नहीं है, ऐसे मामलों में आप गैर-कैप्चरिंग समूहों का उपयोग कर सकते हैं। एक गैर-कैप्चरिंग समूह (?:से शुरू होता है और ) पर समाप्त होता है।

उदाहरण

आयात करें इनपुट टेक्स्ट दर्ज करें"); स्कैनर एससी =नया स्कैनर (System.in); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="(.*)(?:\\d+)(.*)"; // एक पैटर्न ऑब्जेक्ट बनाएं पैटर्न पैटर्न =Pattern.compile(regex); // अब मैचर ऑब्जेक्ट बनाएं। मैचर मैचर =पैटर्न। मैचर (इनपुट); if (matcher.find ( )) { System.out.println ("मान मिला:" + matcher.group (0)); System.out.println ("मान मिला:" + matcher.group(1) ); System.out.println ("मिला मान:" + matcher.group(2)); } और { System.out.println ("कोई मिलान नहीं"); } }}

आउटपुट

मध्यम में 1234 (अंकों) के साथ इनपुट टेक्स्टनमूना डेटा दर्ज करेंफाउंड मान:मध्य में 1234 (अंकों) के साथ नमूना डेटाफाउंड मान:123फाउंड मान के साथ नमूना डेटा:बीच में (अंक)

नोट: गैर-कैप्चरिंग समूह को समूह गणना में शामिल नहीं किया जाएगा।


  1. जावा रेगुलर एक्सप्रेशन में उप-अभिव्यक्ति (?:पुनः)

    उपअभिव्यक्ति/मेटाचरित्र “(?:re) मेल खाने वाले टेक्स्ट को याद किए बिना रेगुलर एक्सप्रेशन को समूहबद्ध करता है। उदाहरण आयात करें .out.println (एक स्ट्रिंग दर्ज करें); स्कैनर एससी =नया स्कैनर (System.in); स्ट्रिंग इनपुट =sc.next (); स्ट्रिंग रेगेक्स =(?:[0-9]); // नियमित अभिव्यक्ति का संकलन पैटर्न पैटर्

  1. जावा में नियमित अभिव्यक्ति (पुनः) उप-अभिव्यक्ति

    सबएक्सप्रेशन/मेटाकैरेक्टर “( )” रेगुलर एक्सप्रेशन को समूहित करता है और मेल खाने वाले टेक्स्ट को याद रखता है। उदाहरण 1 आयात करें ट्यूटोरियल पॉइंट में आपका स्वागत है; स्ट्रिंग रेगेक्स =एच (ईएलएल | ओउ); // नियमित अभिव्यक्ति का संकलन पैटर्न पैटर्न =Pattern.compile(regex); // मैचर ऑब्जेक्ट को पुनः प्राप्

  1. जावा रेगुलर एक्सप्रेशन का उपयोग करके स्ट्रिंग से नंबर निकालें

    निम्नलिखित उदाहरण हैं जो दिखाते हैं कि जावा में रेगुलर एक्सप्रेशन का उपयोग करके एक स्ट्रिंग से नंबर कैसे निकाले जाते हैं। स्ट्रिंग्स को पार्स करने और उससे जानकारी निकालने में सक्षम होना एक महत्वपूर्ण कौशल है जो प्रत्येक परीक्षक के पास होना चाहिए। एपीआई का परीक्षण करते समय यह विशेष रूप से उपयोगी होत