java.util.regex.Matcher क्लास एक इंजन को दर्शाता है जो विभिन्न मिलान ऑपरेशन करता है। इस क्लास के लिए कोई कंस्ट्रक्टर नहीं है, आप java.util.regex.Pattern क्लास के matches() मेथड का उपयोग करके इस क्लास का ऑब्जेक्ट बना/प्राप्त कर सकते हैं।
hitEnd() मेथड सत्यापित करता है कि पिछले मिलान के दौरान इनपुट डेटा का अंत पहुंच गया है या नहीं, यदि हां तो यह true लौटाता है अन्यथा false। यदि यह मेथड true लौटाता है तो यह इंगित करता है कि अधिक इनपुट डेटा मिलान के परिणाम को बदल सकता है।
उदाहरण के लिए, यदि आप रेगुलर एक्सप्रेशन "you$" का उपयोग करके इनपुट स्ट्रिंग के अंतिम शब्द को "you" से मिलान करने का प्रयास कर रहे हैं और यदि आपकी पहली इनपुट लाइन "hello how are you" है तो आपको मिलान मिल सकता है लेकिन, यदि आप और वाक्य स्वीकार करते हैं तो नई लाइन का अंतिम शब्द आवश्यक शब्द ("you") नहीं हो सकता, जिससे आपका मिलान परिणाम false हो जाएगा। ऐसे मामलों में, hitEnd() मेथड true लौटाता है।
उदाहरण
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HitEndExample {
public static void main(String args[]) {
String regex = "you$";
// उपयोगकर्ता से इनपुट पढ़ना
Scanner sc = new Scanner(System.in);
System.out.println("इनपुट टेक्स्ट दर्ज करें: ");
String input = sc.nextLine();
// Pattern क्लास को इंस्टेंटिएट करना
Pattern pattern = Pattern.compile(regex);
// Matcher क्लास को इंस्टेंटिएट करना
Matcher matcher = pattern.matcher(input);
// यह सत्यापित करना कि मिलान हुआ या नहीं
if(matcher.find()) {
System.out.println("मिलान मिला");
}
boolean result = matcher.hitEnd();
if(result) {
System.out.println("अधिक इनपुट मिलान के परिणाम को false कर सकता है");
} else {
System.out.println("अधिक डेटा के बावजूद मिलान का परिणाम true रहेगा");
}
}
}
आउटपुट
इनपुट टेक्स्ट दर्ज करें: Hello how are you मिलान मिला अधिक इनपुट मिलान के परिणाम को false कर सकता है