সাব এক্সপ্রেশন/মেটাচ্যারেক্টার “\E \Q দিয়ে শুরু হওয়া উদ্ধৃতি শেষ হয়। অর্থাৎ আপনি রেগুলার এক্সপ্রেশনে মেটাক্যারেক্টারগুলিকে \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[aeiou]\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 = "\\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