लालची क्वांटिफ़ायर डिफ़ॉल्ट क्वांटिफ़ायर हैं। एक लालची क्वांटिफायर इनपुट स्ट्रिंग से जितना संभव हो उतना मेल खाता है (सबसे लंबा मैच संभव है) यदि मैच नहीं हुआ तो यह अंतिम चरित्र को छोड़ देता है और फिर से मेल खाता है। लालची परिमाणकों की सूची निम्नलिखित है -
क्वांटिफायर | विवरण |
---|---|
पुनः* | शून्य या अधिक बारंबारता से मेल खाता है। |
फिर से? | शून्य या, 1 बारंबारता से मेल खाता है। |
पुनः+ | एक या अधिक घटनाओं से मेल खाता है। |
पुनः{n} | बिल्कुल n आवृत्तियों से मेल खाता है। |
पुनः{n, } | कम से कम n आवृत्तियों से मेल खाता है। |
पुनः{n, m} | कम से कम n और अधिकतम m आवृत्तियों से मेल खाता है। |
उदाहरण
निम्नलिखित जावा उदाहरण में हम 1 या अधिक अंकों का मिलान करने का प्रयास कर रहे हैं, हमारी इनपुट स्ट्रिंग 45545 है, हालांकि मान 4, 45, 455 आदि... योग्य हैं, क्योंकि हम लालची क्वांटिफायर का उपयोग कर रहे हैं यह सबसे लंबे समय तक संभव से मेल खाता है।
आयात करें ।में); System.out.println ("इनपुट टेक्स्ट दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="[0-9]+"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // स्ट्रिंग मैचर मैचर =पैटर्न.मैचर (इनपुट) में संकलित पैटर्न का मिलान करना; System.out.println ("" मिलान किया गया पाठ:); जबकि (matcher.find ()) { System.out.println (matcher.group ()); } }}आउटपुट
इनपुट टेक्स्ट दर्ज करें:मेल खाने वाला टेक्स्ट:45545