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