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

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


MatchResult.end() মেথড

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

কোড উদাহরণ

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

public class MatchResultEndExample {
    public static void main(String[] args) {
        // স্ট্রিংয়ের শেষে "you" ম্যাচ
        String regex = "you$";
        Scanner sc = new Scanner(System.in);
        String input = "Hello how are you";
        
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        
        if (matcher.find()) {
            System.out.println("ম্যাচ পাওয়া গেছে");
        }
        
        MatchResult res = matcher.toMatchResult();
        int end = res.end();
        System.out.println("ম্যাচের শেষ ইনডেক্স (exclusive): " + end);
    }
}

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

ইনপুট টেক্সট: hello how are you
ম্যাচ পাওয়া গেছে
ম্যাচের শেষ ইনডেক্স (exclusive): 17

ব্যাখ্যা

ইনপুট: `"Hello how are you"` (লেন্থ ১৭, ইনডেক্স ০-১৬)

  • `"you"` ম্যাচ: ইনডেক্স ১৪, ১৫, ১৬
  • `start()` = ১৪
  • `end()` = ১৭ (এক্সক্লুসিভ)
  • `substring(14, 17)` = `"you"`

start() এবং end() রিলেশনশিপ

String matchedText = input.substring(res.start(), res.end());
// বা
String matchedText = res.group(); // একই ফলাফল
int length = res.end() - res.start();

সাধারণ ব্যবহার কেস

  • টেক্সট এডিটরে হাইলাইটিং: `start()` থেকে `end()` পর্যন্ত হাইলাইট।
  • পার্সিং: টোকেনের সঠিক লোকেশন জানার জন্য।
  • ভ্যালিডেশন: নির্দিষ্ট পজিশনে প্যাটার্ন আছে কিনা চেক।
  • রিপ্লেসমেন্ট: নির্দিষ্ট রেঞ্জ রিপ্লেস করার জন্য।

সারসংক্ষেপ

`MatchResult.end()` বর্তমান ম্যাচের এক্সক্লুসিভ এন্ড ইনডেক্স রিটার্ন করে। `start()` এবং `end()` একসাথে ব্যবহার করে ম্যাচ করা টেক্সটের সঠিক বাউন্ডারি জানা যায়। `Matcher` ক্লাসেও `start()` এবং `end()` মেথড রয়েছে, কিন্তু `MatchResult` ইমিউটেবল স্ন্যাপশট দিয়ে আরও নিরাপদ।

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

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

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

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