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

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


MatchResult.end(int group) মেথড

end(int group) নির্দিষ্ট গ্রুপ নম্বরের ম্যাচের শেষ ইনডেক্স (exclusive) রিটার্ন করে। অর্থাৎ, ম্যাচ করা ক্যারেক্টারের পরের পজিশন।

কোড উদাহরণ

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

public class MatchResultEndGroupExample {
    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();
        
        // গ্রুপ ১ (প্রথম ক্যাপচারিং গ্রুপ) এর শেষ ইনডেক্স
        int end = res.end(1);
        System.out.println("গ্রুপ ১ এর শেষ ইনডেক্স (exclusive): " + end);
    }
}

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

ইনপুট টেক্সট লিখুন: This is a sample Text, 123
ম্যাচ পাওয়া গেছে
গ্রুপ ১ এর শেষ ইনডেক্স (exclusive): 25

ব্যাখ্যা

ইনপুট: `"This is a sample Text, 123"` (লেন্থ ২৮, ইনডেক্স ০-২৭)

  • গ্রুপ ১: `(.*)` -> লালচীভাবে যতটুকু সম্ভব নেয়, কিন্তু গ্রুপ ২ (`\d+`)-এর জন্য কমপক্ষে ১ ডিজিট ছাড়িয়ে দেয়।
  • গ্রুপ ১ ম্যাচ: `"This is a sample Text, 12"` (ইনডেক্স ০-২৪)
  • `end(1)` = ২৫ (এক্সক্লুসিভ এন্ড)}\).

গ্রুপ ইনডেক্স রেফারেন্স

গ্রুপপ্যাটার্নম্যাচ করা টেক্সটstart()end()
০पुरো প্যাটার্নThis is a sample Text, 123০২৮
১(.*)This is a sample Text, 12০২৫
২(\\d+)3২৫২৬
৩(.*)(খালি)২৬২৬

সারসংক্ষেপ

`MatchResult.end(int group)` নির্দিষ্ট ক্যাপচারিং গ্রুপের ম্যাচের শেষ পজিশন (exclusive) দেয়। এটি টেক্সট প্রসেসিং, হাইলাইটিং, পার্সিং-এ গ্রুপ-লেভেল পজিশন জানতে সাহায্য করে। মনে রাখুন: এন্ড ইনডেক্স এক্সক্লুসিভ, অর্থাৎ `substring(start, end)` দিয়ে সঠিক সাবস্ট্রিং পাওয়া যায়।

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

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

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

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