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রিটার্ন করে। তাই এই মেথড কল করে ডেটা ভ্যালিডেট করুন।
উদাহরণ ১
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()মেথড কল করুন উপরের রেগুলার এক্সপ্রেশন প্যারামিটার হিসেবে পাস করে।
উদাহরণ ২
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-YYYY ফরম্যাটে ডেট গ্রহণের রেগুলার এক্সপ্রেশন
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");
}
}
}
আউটপুট ১
Enter your name: Janaki Enter your Date of birth: 26/09/1989 Given date of birth is not valid
আউটপুট ২
Enter your name: Janaki Enter your Date of birth: 09/26/1989 Given date of birth is valid