সাবএক্সপ্রেশন/মেটাক্যারেক্টার "\Q" "\E" পর্যন্ত সমস্ত অক্ষর এড়িয়ে যায় অর্থাৎ আপনি রেগুলার এক্সপ্রেশনে মেটাক্যারেক্টারগুলিকে \Q এবং \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 = "[aeiou]";
Scanner sc = new Scanner(System.in);
System.out.println("Enter input string: ");
String input = sc.nextLine();
//Creating a Pattern object
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();
//Creating a Pattern object
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");
}
}
} আউটপুট 1
Enter input string: sample Match not occurred
আউটপুট 2
Enter input string: The letters [aeiou] are vowels in English alphabet Match occurred