java.util.regex.Matcher क्लास एक इंजन को दर्शाता है जो विभिन्न मिलान ऑपरेशन करता है। इस क्लास के लिए कोई कंस्ट्रक्टर नहीं है, आप java.util.regex.Pattern क्लास के matches() मेथड का उपयोग करके इस क्लास का ऑब्जेक्ट बना/प्राप्त कर सकते हैं।
usePattern() मेथड Matcher क्लास का एक नया रेगुलर एक्सप्रेशन पैटर्न दर्शाने वाला Pattern ऑब्जेक्ट स्वीकार करता है और मिलान खोजने के लिए इसका उपयोग करता है।
उदाहरण
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class UsePatternExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("इनपुट टेक्स्ट दर्ज करें: ");
String input = sc.nextLine();
String regex = "[#%&*]";
// पैटर्न ऑब्जेक्ट बनाना
Pattern pattern = Pattern.compile(regex);
// मैचर ऑब्जेक्ट बनाना
Matcher matcher = pattern.matcher(input);
int count = 0;
while(matcher.find()) {
count++;
}
// उपयोग किए गए पैटर्न को पुनः प्राप्त करना
System.out.println("दिए गए टेक्स्ट में " + count + " विशेष वर्ण [# % & *] हैं");
// 5 से 6 वर्ण स्वीकार करने के लिए पैटर्न बनाना
Pattern newPattern = Pattern.compile("\\A(?=\\w{6,15}\\z)");
// नए पैटर्न पर स्विच करना
matcher = matcher.usePattern(newPattern);
if(matcher.find()) {
System.out.println("दिए गए इनपुट में 6 से 15 वर्ण हैं");
} else {
System.out.println("दिए गए इनपुट में 6 से 15 वर्ण नहीं हैं");
}
}
}
आउटपुट
इनपुट टेक्स्ट दर्ज करें: #*mypassword& दिए गए टेक्स्ट में 3 विशेष वर्ण [# % & *] हैं !!mypassword! दिए गए इनपुट में 6 से 15 वर्ण नहीं हैं