java.util.regex.Matcher वर्ग एक इंजन का प्रतिनिधित्व करता है जो विभिन्न मिलान संचालन करता है। इस वर्ग के लिए कोई कंस्ट्रक्टर नहीं है, आप java.util.regex.Pattern वर्ग की माचिस () पद्धति का उपयोग करके इस वर्ग का एक ऑब्जेक्ट बना/प्राप्त कर सकते हैं।
दोनों मैचों () और ढूंढें () मैचर क्लास के तरीके इनपुट स्ट्रिंग में रेगुलर एक्सप्रेशन के अनुसार मैच खोजने की कोशिश करते हैं। एक मैच के मामले में, दोनों सही हो जाते हैं और अगर कोई मैच नहीं मिलता है तो दोनों तरीके गलत हो जाते हैं।
मुख्य अंतर यह है कि माचिस () विधि दिए गए इनपुट के पूरे क्षेत्र से मेल खाने की कोशिश करती है, अर्थात यदि आप एक पंक्ति में अंकों की खोज करने का प्रयास कर रहे हैं, तो यह विधि तभी सही होती है जब इनपुट में क्षेत्र की सभी पंक्तियों में अंक हों।पी>
उदाहरण1
आयात करें .*)"; स्ट्रिंग इनपुट ="यह एक नमूना पाठ, 1234 है, जिसके बीच में संख्याएँ हैं।" + "\n यह पाठ की दूसरी पंक्ति है" + "\n यह पाठ में तीसरी पंक्ति है"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // एक मैचर ऑब्जेक्ट बनाना मैचर मैचर =पैटर्न। मैचर (इनपुट); if(matcher.matches()) { System.out.println ("मिलान मिला"); } और { System.out.println ("मिलान नहीं मिला"); } }}आउटपुट
मैच नहीं मिला
जबकि, खोज () विधि अगले सबस्ट्रिंग को खोजने की कोशिश करती है जो पैटर्न से मेल खाती है यानी यदि क्षेत्र में कम से कम एक मैच पाया जाता है तो यह विधि सही हो जाती है।
यदि आप निम्नलिखित उदाहरण पर विचार करते हैं, तो हम एक विशेष रेखा के बीच में अंकों के साथ मिलान करने का प्रयास कर रहे हैं।
उदाहरण2
आयात करें .*)"; स्ट्रिंग इनपुट ="यह एक नमूना पाठ, 1234 है, जिसके बीच में संख्याएँ हैं।" + "\n यह पाठ की दूसरी पंक्ति है" + "\n यह पाठ में तीसरी पंक्ति है"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // एक मैचर ऑब्जेक्ट बनाना मैचर मैचर =पैटर्न। मैचर (इनपुट); //System.out.println("वर्तमान सीमा:"+input.substring(regStart, regEnd)); if(matcher.find ()) { System.out.println ("मिलान मिला"); } और { System.out.println ("मिलान नहीं मिला"); } }}आउटपुट
मैच मिला