Java का java.util.regex पैकेज कैरेक्टर सीक्वेंस में विशेष पैटर्न खोजने के लिए विभिन्न क्लास प्रदान करता है। इस पैकेज का Pattern क्लास एक रेगुलर एक्सप्रेशन का संकलित प्रतिनिधित्व होता है।
Pattern क्लास का matches() मेथड स्वीकार करता है -
रेगुलर एक्सप्रेशन को दर्शाने वाला एक स्ट्रिंग मान।
इनपुट स्ट्रिंग को दर्शाने वाला CharSequence क्लास का एक ऑब्जेक्ट।
आह्वान पर, यह मेथड इनपुट स्ट्रिंग का मिलान रेगुलर एक्सप्रेशन के विरुद्ध करता है। यह मेथड एक बूलियन मान लौटाता है जो मिलान की स्थिति में true होता है अन्यथा false।
उदाहरण
import java.util.Scanner;
import java.util.regex.Pattern;
public class MatchesExample {
public static void main(String[] args) {
// तारीख प्राप्त करना
Scanner sc = new Scanner(System.in);
System.out.println("[dd/mm/yyy] फॉर्मेट में तारीख स्ट्रिंग दर्ज करें: ");
String date = sc.next();
String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
// पैटर्न ऑब्जेक्ट बनाना
boolean result = Pattern.matches(regex, date);
if(result) {
System.out.println("तारीख मान्य है");
} else {
System.out.println("तारीख मान्य नहीं है");
}
}
}
आउटपुट 1
[dd/mm/yyy] फॉर्मेट में तारीख स्ट्रिंग दर्ज करें: 01/12/2019 तारीख मान्य है
आउटपुट 2
[dd/mm/yyy] फॉर्मेट में तारीख स्ट्रिंग दर्ज करें: 2019-21-12 तारीख मान्य नहीं है