java.util.regex.Matcher ক্লাস এমন একটি ইঞ্জিনকে প্রতিনিধিত্ব করে যা বিভিন্ন ম্যাচ অপারেশন করে। এই ক্লাসের জন্য কোন কনস্ট্রাক্টর নেই, আপনি java.util.regex.Pattern ক্লাসের matches() পদ্ধতি ব্যবহার করে এই ক্লাসের একটি অবজেক্ট তৈরি/প্রাপ্ত করতে পারেন।
একটি ম্যাচের ক্ষেত্রে, requireEnd() এই (Matcher) ক্লাসের পদ্ধতি যাচাই করে যে ম্যাচের ফলাফল মিথ্যা হওয়ার সুযোগ আছে কিনা, বেশি ইনপুটের ক্ষেত্রে, যদি তাই হয়, তাহলে এই পদ্ধতিটি সত্য ফেরত দেয় অন্যথায় এটি মিথ্যা ফেরত দেয়।
উদাহরণস্বরূপ, আপনি যদি রেজেক্স "you$" ব্যবহার করে আপনার সাথে একটি ইনপুট স্ট্রিং এর শেষ শব্দটি মেলানোর চেষ্টা করছেন এবং যদি আপনার 1ম ইনপুট লাইন হয় "হ্যালো কেমন আছেন" আপনার সাথে মিল থাকতে পারে কিন্তু, আপনি যদি আরও বাক্য গ্রহণ করেন নতুন লাইন(গুলি) এর শেষ শব্দটি প্রয়োজনীয় শব্দ নাও হতে পারে (যা "আপনি"), আপনার ম্যাচের ফলাফল মিথ্যা করে। এই ধরনের ক্ষেত্রে, প্রয়োজনীয়এন্ড() পদ্ধতিটি সত্য হয়।
একইভাবে, আপনি যদি ইনপুটটিতে একটি নির্দিষ্ট অক্ষর মেলানোর চেষ্টা করেন তাহলে # বলুন এবং যদি আপনার 1ম ইনপুট লাইন হয় "হ্যালো # কেমন আছেন" আপনার সাথে একটি মিল থাকবে এবং, আরও ইনপুট ডেটা ম্যাচারের বিষয়বস্তু পরিবর্তন করতে পারে তবে তা হয় না ফলাফল পরিবর্তন করবেন না যা সত্য। এই ধরনের পরিস্থিতিতে প্রয়োজনীয় শেষ() পদ্ধতিটি মিথ্যা ফেরত দেয়।
উদাহরণ 1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RequiredEndExample { public static void main( String args[] ) { String regex = "you$"; //Reading input from user Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); //Instantiating the Pattern class Pattern pattern = Pattern.compile(regex); //Instantiating the Matcher class Matcher matcher = pattern.matcher(input); //verifying whether a match occurred if(matcher.find()) { System.out.println("Match found"); } boolean result = matcher.requireEnd(); if(result) { System.out.println("More input may turn the result of the match false"); } else{ System.out.println("The result of the match will be true, inspite of more data"); } } }
আউটপুট
Enter input text: Hello how are you Match found More input may turn the result of the match false
উদাহরণ 2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RequiredEndExample { public static void main( String args[] ) { String regex = "[#]"; //Reading input from user Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); //Instantiating the Pattern class Pattern pattern = Pattern.compile(regex); //Instantiating the Matcher class Matcher matcher = pattern.matcher(input); //verifying whether a match occurred if(matcher.find()) { System.out.println("Match found"); } boolean result = matcher.requireEnd(); if(result) { System.out.println("More input may turn the result of the match false"); } else{ System.out.println("The result of the match will be true, inspite of more data"); } } }
আউটপুট
Enter input text: Hello# how# are you Match found The result of the match will be true, in spite of more data