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

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


यदि आप रेगुलर एक्सप्रेशन बनाते समय घटनाओं की संख्या निर्दिष्ट करना चाहते हैं तो आप क्वांटिफायर का उपयोग कर सकते हैं। जावा तीन प्रकार के क्वांटिफ़ायर का समर्थन करता है, अर्थात्:लालची क्वांटिफ़ायर, अनिच्छुक क्वांटिफ़ायर और स्वामित्व वाले क्वांटिफ़ायर।

लालची परिमाणक − लालची क्वांटिफ़ायर डिफ़ॉल्ट क्वांटिफ़ायर हैं। एक लालची क्वांटिफायर इनपुट स्ट्रिंग से जितना संभव हो उतना मेल खाता है (सबसे लंबा मैच संभव है) यदि मैच नहीं हुआ तो यह अंतिम चरित्र को छोड़ देता है और फिर से मेल खाता है।

उदाहरण

आयात करें ।में); System.out.println ("इनपुट टेक्स्ट दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="[0-9]+"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // स्ट्रिंग मैचर मैचर =पैटर्न। मैचर (इनपुट) में संकलित पैटर्न का मिलान करना; System.out.println ("" मिलान किया गया पाठ:); जबकि (matcher.find ()) { System.out.println (matcher.group ()); } }}

आउटपुट

इनपुट टेक्स्ट दर्ज करें:मेल खाने वाला टेक्स्ट:45545

अनिच्छुक परिमाणक − एक गैर-लालची/अनिच्छुक क्वांटिफायर जितना संभव हो उतना कम मेल खाता है, शुरू में गैर-लालची क्वांटिफायर पहले वर्ण से मेल खाता है यदि मैच नहीं हुआ तो यह इनपुट स्ट्रिंग से एक और चरित्र जोड़ता है और मिलान करने का प्रयास करता है। यदि आप "?" लालची क्वांटिफायर के बाद यह अनिच्छुक या गैर लालची क्वांटिफायर बन जाता है।

उदाहरण

आयात करें ।में); System.out.println ("इनपुट टेक्स्ट दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="[0-9]+?"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // स्ट्रिंग मैचर मैचर =पैटर्न। मैचर (इनपुट) में संकलित पैटर्न का मिलान करना; जबकि (matcher.find ()) { System.out.println (matcher.group ()); } }}

आउटपुट

इनपुट टेक्स्ट दर्ज करें:1234567812345678

स्वाभाविक परिमाणक − एक स्वामित्व क्वांटिफायर एक लालची क्वांटिफायर के समान होता है, केवल अंतर यह है कि यह शुरू में जितने चरित्र से मेल खाने की कोशिश करता है, और अगर लालची क्वांटिफायर के विपरीत मैच नहीं हुआ तो यह पीछे नहीं हटता।

यदि आप लालची क्वांटिफायर के बाद "+" रखते हैं तो यह पॉज़िटिव क्वांटिफ़ायर बन जाता है। स्वामित्व वाले परिमाणकों की सूची निम्नलिखित है:

उदाहरण

आयात करें ।में); System.out.println ("इनपुट टेक्स्ट दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="[0-9]++"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // स्ट्रिंग मैचर मैचर =पैटर्न। मैचर (इनपुट) में संकलित पैटर्न का मिलान करना; जबकि (matcher.find ()) {System.out.print(matcher.group ()); System.out.println (); } }}

आउटपुट

इनपुट टेक्स्ट दर्ज करें:4567845678

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

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

  1. जावा रेगेक्स का उपयोग करके शब्द सीमाओं का मिलान कैसे करें?

    आप मेटा वर्ण “\\b” का उपयोग करके शब्द सीमाओं का मिलान कर सकते हैं। उदाहरण 1 आयात करें .out.println (एक स्ट्रिंग दर्ज करें); स्कैनर एससी =नया स्कैनर (System.in); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स =\\ बी; // नियमित अभिव्यक्ति का संकलन पैटर्न पैटर्न =Pattern.compile(regex); // मैचर ऑब्जे

  1. जावा में रेगेक्स का उपयोग करके स्ट्रिंग से HTML टैग कैसे निकालें?

    जावा का java.util.regex पैकेज चरित्र अनुक्रमों में विशेष पैटर्न खोजने के लिए विभिन्न वर्ग प्रदान करता है। पैटर्न इस पैकेज का वर्ग नियमित अभिव्यक्ति का संकलित प्रतिनिधित्व है। स्ट्रिंग के साथ रेगुलर एक्सप्रेशन का मिलान करने के लिए यह वर्ग दो तरीके प्रदान करता है - संकलित करें () - यह विधि एक नियम