সাব এক্সপ্রেশন/মেটাচ্যারেক্টার “\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