लालची क्वांटिफ़ायर डिफ़ॉल्ट क्वांटिफ़ायर हैं। एक लालची क्वांटिफायर इनपुट स्ट्रिंग से जितना संभव हो उतना मेल खाता है (सबसे लंबा मैच संभव है) यदि मैच नहीं हुआ तो यह अंतिम चरित्र को छोड़ देता है और फिर से मेल खाता है।
जबकि एक अनिच्छुक या, गैर-लालची क्वांटिफायर जितना संभव हो उतना कम मेल खाता है, शुरू में गैर-लालची क्वांटिफायर पहले वर्ण से मेल खाता है यदि मैच नहीं हुआ तो यह इनपुट स्ट्रिंग से एक और चरित्र जोड़ता है और मिलान करने का प्रयास करता है।
यदि आप एक "?" लालची क्वांटिफायर के बाद यह अनिच्छुक या गैर लालची क्वांटिफायर बन जाता है। अनिच्छुक परिमाणकों की सूची निम्नलिखित है -
<टेबल> <थेड>उदाहरण
आयात करें ।में); System.out.println ("इनपुट टेक्स्ट दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="[0-9]+?"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // स्ट्रिंग मैचर मैचर =पैटर्न.मैचर (इनपुट) में संकलित पैटर्न का मिलान करना; जबकि (matcher.find ()) {System.out.print("पैटर्न" + matcher.start()+ " से "+ (matcher.end()-1)+"::"); System.out.print(matcher.group ()); System.out.println (); } }}आउटपुट
इनपुट टेक्स्ट दर्ज करें:123456780 से 0 तक मिला पैटर्न ::11 से 1::2 तक पैटर्न मिला 2 से 2::3 तक पैटर्न 3 से 3::4 तक पाया गया पैटर्न 4 से 4::5 तक पाया गया पैटर्न से मिला 5 से 5::66 से 6::7 तक मिला पैटर्न 7 से 7::8 तक पाया गया