लालची (Greedy) क्वांटिफायर डिफ़ॉल्ट क्वांटिफायर होते हैं। एक लालची क्वांटिफायर इनपुट स्ट्रिंग से जितना संभव हो उतना मिलान करता है (सबसे लंबा संभव मिलान) यदि मिलान नहीं हुआ तो यह अंतिम वर्ण को छोड़ देता है और फिर से मिलान करता है। लालची क्वांटिफायर की सूची निम्नलिखित है:
| क्वांटिफायर | विवरण |
|---|---|
| re* | शून्य या अधिक घटनाओं से मेल खाता है। |
| re? | शून्य या 1 घटना से मेल खाता है। |
| re+ | एक या अधिक घटनाओं से मेल खाता है। |
| re{n} | ठीक n घटनाओं से मेल खाता है। |
| re{n,} | कम से कम n घटनाओं से मेल खाता है। |
| re{n,m} | कम से कम n और अधिकतम m घटनाओं से मेल खाता है। |
उदाहरण
निम्नलिखित Java उदाहरण में हम 1 या अधिक अंकों से मिलान करने का प्रयास कर रहे हैं, हमारा इनपुट स्ट्रिंग 45545 है, हालांकि 4, 45, 455 आदि मान योग्य हैं, चूंकि हम लालची क्वांटिफायर का उपयोग कर रहे हैं, यह सबसे लंबा संभव मिलान करता है।
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter input text: ");
String input = sc.nextLine();
String regex = "[0-9]+";
// पैटर्न ऑब्जेक्ट बनाना
Pattern pattern = Pattern.compile(regex);
// स्ट्रिंग में संकलित पैटर्न का मिलान
Matcher matcher = pattern.matcher(input);
System.out.println("Matched text:");
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
आउटपुट
Enter input text: 45545 Matched text: 45545