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

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


MatchResult.group(int group) মেথড

group(int group) নির্দিষ্ট গ্রুপ নম্বরের ম্যাচ করা সাবস্ট্রিং রিটার্ন করে। গ্রুপ ০ = পুরো ম্যাচ, গ্রুপ ১, ২, ৩... = ক্যাপচারিং গ্রুপস।

কোড উদাহরণ

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

public class MatchResultGroupIntExample {
    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 res = matcher.toMatchResult();
        
        // গ্রুপ ২ (ডিজিট গ্রুপ) এর কন্টেন্ট
        String matchedData = res.group(2);
        System.out.println("গ্রুপ ২ (ডিজিট): " + matchedData);
    }
}

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

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

ব্যাখ্যা

ইনপুট: `"This is a sample Text, 123"`

  • রেজেক্স: `(.*)(\\d+)(.*)`
  • গ্রুপ ১: `(.*)` লালচী -> `"This is a sample Text, 12"`
  • গ্রুপ ২: `(\\d+)` -> `"3"` (শেষ ডিজিট, কারণ গ্রুপ ১ লালচী)
  • গ্রুপ ৩: `(.*)` -> `""` (খালি)

গ্রুপ নম্বরিং রেফারেন্স

গ্রুপ নম্বরপ্যাটার্নব্যাখ্যা
0পুরো প্যাটার্নসম্পূর্ণ ম্যাচ
1প্রথম `(...`)প্রথম ক্যাপচারিং গ্রুপ
2দ্বিতীয় `(...`)দ্বিতীয় ক্যাপচারিং গ্রুপ
nn-তম `(...`)n-তম ক্যাপচারিং গ্রুপ

নেমড গ্রুপ অ্যাক্সেস (Java 7+)

String regex = "(?<digits>\\d+)";
Matcher matcher = Pattern.compile(regex).matcher(input);
if (matcher.find()) {
    String digits = matcher.group("digits"); // নাম দিয়ে অ্যাক্সেস
    // বা MatchResult দিয়ে
    MatchResult res = matcher.toMatchResult();
    String digits2 = res.group("digits");
}

সারসংক্ষেপ

`MatchResult.group(int group)` নির্দিষ্ট ক্যাপচারিং গ্রুপের ম্যাচ করা টেক্সট রিটার্ন করে। `Matcher.toMatchResult()` দিয়ে ইমিউটেবল `MatchResult` পাওয়া যায়। গ্রুপ নম্বরিং বাম প্যারেনথেসিসের ক্রমে। নেমড গ্রুপ ব্যবহার করলে কোড আরও পঠনীয় হয়।

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

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

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

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