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