কম্পিউটার

অনিচ্ছুক কোয়ান্টিফায়ার জাভা রেগুলার এক্সপ্রেশন


লোভী কোয়ান্টিফায়াররা ডিফল্ট কোয়ান্টিফায়ার। একটি লোভী কোয়ান্টিফায়ার ইনপুট স্ট্রিং থেকে যতটা সম্ভব মেলে (সম্ভব দীর্ঘতম ম্যাচ) যদি ম্যাচ না হয় তবে এটি শেষ অক্ষরটি ছেড়ে যায় এবং আবার মেলে।

যেখানে একটি অনিচ্ছুক বা, অ-লোভী কোয়ান্টিফায়ার যতটা সম্ভব কম মেলে, প্রাথমিকভাবে নন-লোভী কোয়ান্টিফায়ার প্রথম অক্ষরের সাথে মেলে যদি ম্যাচ না হয় তবে এটি ইনপুট স্ট্রিং থেকে অন্য একটি অক্ষর যোগ করে এবং ম্যাচ করার চেষ্টা করে।

আপনি যদি একটি "?" একটি লোভী কোয়ান্টিফায়ারের পরে এটি অনিচ্ছুক বা অ-লোভী কোয়ান্টিফায়ার হয়ে যায়। নিম্নে অনিচ্ছুক কোয়ান্টিফায়ার −

তালিকা দেওয়া হল
কোয়ান্টিফায়ার বিবরণ
re*? শূন্য বা তার বেশি ঘটনা মেলে।
আবার?? শূন্যের সাথে মেলে বা, ১টি ঘটনা।
re+? এক বা একাধিক ঘটনার সাথে মেলে।
পুনরায়{n}? ঘটনার সাথে হুবহু মেলে।
re{n, }? অন্তত n ঘটনার সাথে মেলে।
re{n, m}? অন্তত n এবং সর্বাধিক m ঘটনার সাথে মেলে।

উদাহরণ

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);
      while (matcher.find()) {
         System.out.print("Pattern found from " + matcher.start()+ " to " + (matcher.end()-1)+"::");
         System.out.print(matcher.group());
         System.out.println();
      }
   }
}

আউটপুট

Enter input text:
12345678
Pattern found from 0 to 0::1
Pattern found from 1 to 1::2
Pattern found from 2 to 2::3
Pattern found from 3 to 3::4
Pattern found from 4 to 4::5
Pattern found from 5 to 5::6
Pattern found from 6 to 6::7
Pattern found from 7 to 7::8

  1. জাভাতে রেগুলার এক্সপ্রেশন \E মেটাক্যারেক্টার।

  2. জাভা রেগুলার এক্সপ্রেশনে PatternSyntaxException ক্লাস

  3. জাভা রেগুলার এক্সপ্রেশনে সাব-এক্সপ্রেশন (?> রি) ব্যাখ্যা করুন

  4. জাভা রেগুলার এক্সপ্রেশন ব্যবহার করে স্ট্রিং থেকে সংখ্যা বের করুন