Java.util.regex.Matcher वर्ग एक ऐसे इंजन का प्रतिनिधित्व करता है जो विभिन्न मिलान संचालन करता है। इस वर्ग के लिए कोई कंस्ट्रक्टर नहीं है, आप java.util.regex.Pattern वर्ग की माचिस () पद्धति का उपयोग करके इस वर्ग का एक ऑब्जेक्ट बना/प्राप्त कर सकते हैं।
एंकरिंग सीमा का उपयोग क्षेत्र के मिलान जैसे ^ और $ से मेल खाने के लिए किया जाता है। डिफ़ॉल्ट रूप से एक मैचर एंकरिंग बाउंड्स का उपयोग करता है, आप एंकरिंग बाउंड्स के उपयोग से गैर-एंकरिंग बाउंड्स में उपयोग एंकरिंगबाउंड्स () विधि का उपयोग करके स्विच कर सकते हैं।
इसमें AnchoringBounds () हैं इस (मैचर) वर्ग की विधि यह सत्यापित करती है कि क्या वर्तमान मिलानकर्ता एंकरिंग सीमा का उपयोग करता है, यदि ऐसा है, तो यह सही है, अन्यथा यह गलत है।
उदाहरण 1
आयात करें .*)"; स्ट्रिंग इनपुट ="यह एक नमूना पाठ, 1234 है, जिसके बीच में संख्याएँ हैं।" + "\n यह पाठ की दूसरी पंक्ति है" + "\n यह पाठ में तीसरी पंक्ति है"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // एक मैचर ऑब्जेक्ट बनाना मैचर मैचर =पैटर्न। मैचर (इनपुट); // एंकरिंग सीमा के लिए सत्यापन बूलियन बूल =matcher.hasAnchoringBounds (); // मैच के लिए जाँच कर रहा है अगर (बूल) {System.out.println ("वर्तमान मिलानकर्ता एंकरिंग सीमा का उपयोग करता है"); } और { System.out.println ("वर्तमान मिलानकर्ता गैर-एंकरिंग सीमा का उपयोग करता है"); } if(matcher.matches()) { System.out.println ("मिलान मिला"); } और { System.out.println ("मिलान नहीं मिला"); } }}आउटपुट
वर्तमान मिलानकर्ता एंकरिंग बाउंड्स का उपयोग करता हैमैच नहीं मिला
उदाहरण 2
आयात करें =नया स्कैनर (System.in); System.out.println ("इनपुट स्ट्रिंग दर्ज करें"); स्ट्रिंग इनपुट =sc.nextLine (); // अंकों को खोजने के लिए नियमित अभिव्यक्ति स्ट्रिंग रेगेक्स =".*\\d+.*"; // नियमित अभिव्यक्ति का संकलन पैटर्न पैटर्न =Pattern.compile(regex); // नियमित अभिव्यक्ति को प्रिंट करना System.out.println ("संकलित नियमित अभिव्यक्ति:" +pattern.toString ()); // मैचर ऑब्जेक्ट को पुनः प्राप्त करना मैचर मैचर =पैटर्न। मैचर (इनपुट); matcher.useAnchoringBounds (झूठा); बूलियन hasBounds =matcher.hasAnchoringBounds (); if(hasBounds) { System.out.println ("वर्तमान मिलानकर्ता एंकरिंग सीमा का उपयोग करता है"); } और { System.out.println ("वर्तमान मिलानकर्ता गैर-एंकरिंग सीमा का उपयोग करता है"); } // सत्यापित करना कि क्या मैच हुआ अगर (matcher.matches ()) {System.out.println ("दिए गए स्ट्रिंग में अंक होते हैं"); } और { System.out.println ("दिए गए स्ट्रिंग में अंक नहीं हैं"); } }}आउटपुट
इनपुट स्ट्रिंगहैलो नमूना दर्ज करें 2संकलित नियमित अभिव्यक्ति:.*\d+.*वर्तमान मिलानकर्ता गैर-एंकरिंग सीमाओं का उपयोग करता है, क्योंकि स्ट्रिंग में अंक होते हैं