কম্পিউটার টিউটোরিয়াল

জাভা রেগুলার এক্সপ্রেশন: MatchResult.group() মেথড উদাহরণসহ


MatchResult ইন্টারফেস

java.util.regex.MatchResult ইন্টারফেস ম্যাচ রেজাল্ট রিট্রিভ করার মেথডস প্রদান করে। Matcher.toMatchResult() কল করে ইমিউটেবল `MatchResult` অবজেক্ট পাওয়া যায়।

group() মেথড

group() বা `group(0)` — শেষ ম্যাচ করা পুরো সাবস্ট্রিং রিটার্ন করে।

কোড উদাহরণ

import java.util.Scanner;
import java.util.regex.MatchResult;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MatchResultGroupExample {
    public static void main(String[] args) {
        String regex = "(.*)(\\d+)(.*)"; // ৩টি গ্রুপ
        Scanner sc = new Scanner(System.in);
        System.out.println("ইনপুট টেক্সট লিখুন: ");
        String input = sc.nextLine();
        
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        
        if (matcher.find()) {
            System.out.println("ম্যাচ পাওয়া গেছে");
        }
        
        // MatchResult অবজেক্ট পাওয়া
        MatchResult res = matcher.toMatchResult();
        
        // গ্রুপ ০ (পুরো ম্যাচ)
        String matchedData = res.group();
        System.out.println("ম্যাচ করা ডেটা: " + matchedData);
    }
}

আউটপুট উদাহরণ

ইনপুট টেক্সট লিখুন: This is a sample Text, 123
ম্যাচ পাওয়া গেছে
ম্যাচ করা ডেটা: This is a sample Text, 123

MatchResult এর অন্যান্য útil মেথডস

মেথডব্যাখ্যা
group()পুরো ম্যাচ (গ্রুপ ০)
group(int n)নির্দিষ্ট গ্রুপ নম্বরের ম্যাচ
group(String name)নেমড গ্রুপের ম্যাচ (Java 7+)
start()ম্যাচের শুরু ইনডেক্স
start(int n)গ্রুপ n-এর শুরু ইনডেক্স
end()ম্যাচের শেষ ইনডেক্স (exclusive)
end(int n)গ্রুপ n-এর শেষ ইনডেক্স
groupCount()ক্যাপচারিং গ্রুপের সংখ্যা

কেন MatchResult ব্যবহার করবেন?

  • ইমিউটেবলিটি: ম্যাচার স্টেট পরিবর্তন হলেও রেজাল্ট অপরিবর্তিত থাকে।
  • পাসেবিলিটি: মেথড আর্গুমেন্ট হিসেবে পাস করা যায়।
  • থ্রেড সেফটি: ইমিউটেবল অবজেক্ট থ্রেড-সেফ।

সারসংক্ষেপ

`MatchResult.group()` শেষ ম্যাচ করা পুরো স্ট্রিং রিটার্ন করে। `matcher.toMatchResult()` দিয়ে ইমিউটেবল রেজাল্ট অবজেক্ট পাওয়া যায়, যা আরও নিরাপদে ব্যবহার ও পাস করা যায়। গ্রুপ-স্পেসিফিক ডেটার জন্য `group(int)` বা `group(String)` ব্যবহার করুন।

  1. জাভায় Matcher group() মেথড উদাহরণসহ ব্যাখ্যা

  2. জাভায় Matcher appendTail() মেথড উদাহরণসহ ব্যাখ্যা

  3. জাভায় Matcher reset() মেথড উদাহরণসহ ব্যাখ্যা

  4. জাভায় Matcher pattern() মেথড উদাহরণসহ ব্যাখ্যা