লোভী কোয়ান্টিফায়াররা ডিফল্ট কোয়ান্টিফায়ার। একটি লোভী কোয়ান্টিফায়ার ইনপুট স্ট্রিং থেকে যতটা সম্ভব মেলে (সম্ভব দীর্ঘতম ম্যাচ) যদি ম্যাচ না হয় তবে এটি শেষ অক্ষরটি ছেড়ে যায় এবং আবার মেলে। নিম্নোক্ত লোভী কোয়ান্টিফায়ারের তালিকা -
কোয়ান্টিফায়ার | বিবরণ |
---|---|
re* | শূন্য বা তার বেশি ঘটনা মেলে। |
আবার? | শূন্যের সাথে মেলে বা, ১টি ঘটনা। |
re+ | এক বা একাধিক ঘটনার সাথে মেলে। |
পুনরায়{n} | ঘটনার সাথে হুবহু মেলে। |
re{n, } | অন্তত n ঘটনার সাথে মেলে। |
re{n, m} | অন্তত n এবং সর্বাধিক m ঘটনার সাথে মেলে। |
উদাহরণ
নিম্নলিখিত জাভা উদাহরণে আমরা 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]+"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); System.out.println(“”Matched text: ); while (matcher.find()) { System.out.println(matcher.group()); } } }
আউটপুট
Enter input text: Matched text: 45545