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

জাভা রেগুলার এক্সপ্রেশনে (re) সাব-এক্সপ্রেশন ব্যাখ্যা

সাবএক্সপ্রেশন/মেটাক্যারেক্টার "()" রেগুলার এক্সপ্রেশন গ্রুপ করে এবং ম্যাচ করা টেক্সট মনে রাখে (ক্যাপচারিং গ্রুপ)। এই গ্রুপগুলো পরে ব্যাকরেফারেন্স (\1, \2 ইত্যাদি) বা matcher.group(n) দিয়ে এক্সেস করা যায়।

উদাহরণ ১: অল্টারনেশন সহ গ্রুপিং

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

public class Example {
    public static void main(String args[]) {
        String input = "Hello how are you welcome to Tutorialspoint";
        String regex = "H(ell|ow)";
        
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        
        if (matcher.find()) {
            System.out.println("ম্যাচ পাওয়া গেল");
        } else {
            System.out.println("ম্যাচ পাওয়া যায়নি");
        }
    }
}

আউটপুট

ম্যাচ পাওয়া গেল

ব্যাখ্যা: H(ell|ow) মানে "H" এবং তারপর "ell" অথবা "ow"। ইনপুটে "Hello" আছে, তাই "Hell" ম্যাচ করে (গ্রুপ ১ = "ell")।

উদাহরণ ২: সেন্টেন্সে ডিজিট খোঁজা (গ্রুপ ব্যবহার)

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

public class PatternExample {
    public static void main(String[] args) {
        System.out.println("ইনপুট স্ট্রিং দিন: ");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        
        // গ্রুপ ব্যবহার করে রেগুলার এক্সপ্রেশন
        String regex = "(?:.*)(\\d+)(.*)";
        
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        boolean bool = matcher.matches();
        
        if (bool) {
            System.out.println("ম্যাচ পাওয়া গেল");
        } else {
            System.out.println("ম্যাচ পাওয়া যায়নি");
        }
    }
}

আউটপুট

ইনপুট স্ট্রিং দিন: This is a 5363 test string
ম্যাচ পাওয়া গেল

মনে রাখবেন: উদাহরণ ২-এ (?:.*) নন-ক্যাপচারিং গ্রুপ, (\\d+) ক্যাপচারিং গ্রুপ ১ (ডিজিটগুলো), (.*) ক্যাপচারিং গ্রুপ ২ (বাকি অংশ)।

  1. জাভা রেগুলার এক্সপ্রেশনে \G মেটাক্যারেক্টার ব্যাখ্যা

  2. জাভা রেগুলার এক্সপ্রেশনে \D মেটাক্যারেক্টার ব্যাখ্যা

  3. জাভা রেগুলার এক্সপ্রেশনে \d কনস্ট্রাক্ট ব্যাখ্যা

  4. জাভা রেগুলার এক্সপ্রেশনে \S মেটাক্যারেক্টার ব্যাখ্যা