निम्नलिखित dd-MM-yyyy फॉर्मेट में डेट से मिलान करने के लिए रेगुलर एक्सप्रेशन है।
^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$उस फॉर्मेट में एक स्ट्रिंग में डेट से मिलान करने के लिए।
Pattern क्लास के compile() मेथड का उपयोग करके उपरोक्त एक्सप्रेशन को कंपाइल करें।
Pattern क्लास के matcher() मेथड के पैरामीटर के रूप में आवश्यक इनपुट स्ट्रिंग पास करके Matcher ऑब्जेक्ट प्राप्त करें।
Matcher क्लास का matches() मेथड मिलान होने पर true लौटाता है अन्यथा false लौटाता है। इसलिए, डेटा को मान्य करने के लिए इस मेथड को इनवोक करें।
उदाहरण 1
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchingDate {
public static void main(String[] args) {
String date = "01/12/2019";
String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
// पैटर्न ऑब्जेक्ट बनाना
Pattern pattern = Pattern.compile(regex);
// स्ट्रिंग में कंपाइल्ड पैटर्न का मिलान
Matcher matcher = pattern.matcher(date);
boolean bool = matcher.matches();
if(bool) {
System.out.println("Date is valid");
} else {
System.out.println("Date is not valid");
}
}
}आउटपुट
Date is valid
String क्लास का matches() मेथड एक रेगुलर एक्सप्रेशन स्वीकार करता है और वर्तमान स्ट्रिंग का उससे मिलान करता है और मिलान के मामले में true लौटाता है अन्यथा false लौटाता है। इसलिए, यह सत्यापित करने के लिए कि दी गई डेट (स्ट्रिंग फॉर्मेट में) आवश्यक फॉर्मेट में है −
- डेट स्ट्रिंग प्राप्त करें।
- उपरोक्त रेगुलर एक्सप्रेशन को पैरामीटर के रूप में पास करके इस पर matches() मेथड इनवोक करें।
उदाहरण 2
import java.util.Scanner;
public class Just {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name: ");
String name = sc.nextLine();
System.out.println("Enter your Date of birth: ");
String dob = sc.nextLine();
// MM-DD-YYY फॉर्मेट में डेट स्वीकार करने के लिए रेगुलर एक्सप्रेशन
String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
boolean result = dob.matches(regex);
if(result) {
System.out.println("Given date of birth is valid");
} else {
System.out.println("Given date of birth is not valid");
}
}
}आउटपुट 1
Enter your name: Janaki Enter your Date of birth: 26/09/1989 Given date of birth is not valid
आउटपुट 2
Enter your name: Janaki Enter your Date of birth: 09/26/1989 Given date of birth is valid