java.util.regex.Matcher ক্লাস একটি ইঞ্জিনের প্রতিনিধিত্ব করে যা বিভিন্ন ম্যাচ অপারেশন করে। এই ক্লাসের জন্য কোন কনস্ট্রাক্টর নেই, আপনি java.util.regex.Pattern ক্লাসের matches() পদ্ধতি ব্যবহার করে এই ক্লাসের একটি অবজেক্ট তৈরি/প্রাপ্ত করতে পারেন।
রেগুলার এক্সপ্রেশনে, লুক বিহাইন্ড এবং লুকআহেড কনস্ট্রাক্টগুলি একটি নির্দিষ্ট প্যাটার্নের সাথে মেলে যা পূর্ববর্তী বা অন্য কোনো প্যাটার্নে সফল হয়। উদাহরণস্বরূপ, যদি আপনাকে একটি স্ট্রিং গ্রহণ করতে হয় যা 5 থেকে 12টি অক্ষর গ্রহণ করে তবে রেগুলার এক্সপ্রেশন হবে −
"\\A(?=\\w{6,10}\\z)";
ডিফল্টরূপে, ম্যাচার অঞ্চলের সীমানাগুলি সামনের দিকে তাকাতে, পিছনের দিকে তাকাতে এবং সীমানা মিলে যাওয়ার জন্য স্বচ্ছ নয়, যেমন এই গঠনগুলি অঞ্চলের সীমানার বাইরে ইনপুট পাঠ্যের বিষয়বস্তুর সাথে মেলে না -
উদাহরণ 1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class useTransparentBoundsExample { public static void main(String[] args) { //Regular expression to accepts 6 to 10 characters String regex = "\\A(?=\\w{6,10}\\z)"; System.out.println("Enter 5 to 12 characters: "); String input = new Scanner(System.in).next(); //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Creating a Matcher object Matcher matcher = pattern.matcher(input); //Setting region to the input string matcher.region(0, 4); //Switching to transparent bounds if(matcher.find()) { System.out.println("Match found"); } else { System.out.println("Match not found"); } } }
আউটপুট
Enter 5 to 12 characters: sampleText Match not found
ব্যবহার করুন ট্রান্সপারেন্টবাউন্ডস() এই ক্লাস পদ্ধতির পদ্ধতি একটি বুলিয়ান মান গ্রহণ করে এবং, যদি আপনি এই পদ্ধতিতে সত্য পাস করেন তবে বর্তমান ম্যাচারটি স্বচ্ছ সীমানা ব্যবহার করে এবং যদি আপনি এই পদ্ধতিতে মিথ্যা পাস করেন তবে এটি অ-স্বচ্ছ সীমানা ব্যবহার করে৷
উদাহরণ 2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { //Regular expression to accepts 6 to 10 characters String regex = "\\A(?=\\w{6,10}\\z)"; System.out.println("Enter 5 to 12 characters: "); String input = new Scanner(System.in).next(); //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Creating a Matcher object Matcher matcher = pattern.matcher(input); //Setting region to the input string matcher.region(0, 4); //Switching to transparent bounds matcher = matcher.useTransparentBounds(true); if(matcher.find()) { System.out.println("Match found"); } else { System.out.println("Match not found"); } } }
আউটপুট
Enter 5 to 12 characters: sampletext Match found