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

জাভা রেগুলার এক্সপ্রেশনে \E মেটাক্যারেক্টার


সাব-এক্সপ্রেশন বা মেটাক্যারেক্টার \E \Q দিয়ে শুরু হওয়া কোটিং (quoting) সমাপ্ত করে। অর্থাৎ, রেগুলার এক্সপ্রেশনে মেটাক্যারেক্টারগুলোকে \Q এবং \E-এর মাঝপথে রাখলে সেগুলো escapar করা যায়। উদাহরণস্বরূপ, এক্সপ্রেশন [aeiou] স্বরবর্ণযুক্ত স্ট্রিংগুলোকে মিল করে।

উদাহরণ ১

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

public class SampleProgram {
    public static void main(String args[]) {
        String regex = "[aeiou]";
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter input string: ");
        String input = sc.nextLine();
        
        // Pattern অবজেক্ট তৈরি
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        
        if(matcher.find()) {
            System.out.println("Match occurred");
        } else {
            System.out.println("Match not occurred");
        }
    }
}

আউটপুট

Enter input string: sample
Match occurred

কিন্তু, যদি আপনি একই এক্সপ্রেশনটি \Q এবং \E-এর মধ্যে ব্যবহার করেন, যেমন \Q[aeiou]\E, তবে এটি দেওয়া স্ট্রিং-এ "[aeiou]" এই ক্যারেক্টার সিকোয়েন্সটিকে মিল করবে। সংক্ষেপে, মেটাক্যারেক্টারগুলো তাদের অর্থ হারিয়ে সাধারণ ক্যারেক্টার হয়ে যায়।

উদাহরণ ২

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

public class SampleProgram {
    public static void main(String args[]) {
        String regex = "\\Q[aeiou]\\E";
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter input string: ");
        String input = sc.nextLine();
        
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        
        if(matcher.find()) {
            System.out.println("Match occurred");
        } else {
            System.out.println("Match not occurred");
        }
    }
}

আউটপুট ১

Enter input string: sample
Match not occurred

আউটপুট ২

Enter input string: The letters [aeiou] are vowels in English alphabet
Match occurred
  1. জাভা রেগুলার এক্সপ্রেশনে \w মেটাক্যারেক্টার ব্যাখ্যা

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

  3. জাভা রেগুলার এক্সপ্রেশনে $ (ডলার) মেটাক্যারেক্টার ব্যাখ্যা

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