কম্পিউটার

জাভা রেজেক্স ব্যবহার করে তারিখ স্ট্রিং (MM-dd-yyyy বিন্যাস) গ্রহণ করছেন?


নিম্নলিখিত রেগুলার এক্সপ্রেশন যা dd-MM-yyyy ফর্ম্যাটে তারিখের সাথে মেলে৷

^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$

সেই বিন্যাসে একটি স্ট্রিং-এ একটি তারিখ মেলানোর জন্য৷

  • প্যাটার্ন ক্লাসের compile() পদ্ধতির উপরের অভিব্যক্তিটি কম্পাইল করুন।

  • প্যাটার্ন ক্লাসের ম্যাচার() পদ্ধতিতে প্যারামিটার হিসাবে প্রয়োজনীয় ইনপুট স্ট্রিংকে বাইপাস করে ম্যাচার অবজেক্টটি পান।

  • ম্যাচার ক্লাসের ম্যাচ() পদ্ধতিটি সত্য দেখায় যদি একটি ম্যাচ ঘটে অন্যথায় এটি মিথ্যা ফেরত দেয়। অতএব, ডেটা যাচাই করার জন্য এই পদ্ধতিটি ব্যবহার করুন।

উদাহরণ 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}$";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      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

স্ট্রিং ক্লাসের ম্যাচস() মেথড একটি রেগুলার এক্সপ্রেশন গ্রহণ করে এবং বর্তমান স্ট্রিং এর সাথে মেলে এবং ম্যাচের ক্ষেত্রে সত্য এবং অন্যথায় মিথ্যা রিটার্ন করে। অতএব, প্রদত্ত তারিখটি (স্ট্রিং বিন্যাসে) প্রয়োজনীয় বিন্যাসে আছে কিনা তা যাচাই করতে -

  • তারিখ স্ট্রিং পান।
  • একটি প্যারামিটার হিসাবে উপরের রেগুলার এক্সপ্রেশনটি পাস করে এটিতে 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();
      //Regular expression to accept date in MM-DD-YYY format
      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

  1. জাভাতে রেজেক্স ব্যবহার করে MM-DD-YYYY-এর মতো প্রদত্ত তারিখ বিন্যাস কীভাবে যাচাই করবেন?

  2. জাভাতে দুটি স্ট্রিং তুলনা করুন

  3. জাভাতে স্ট্রিংকে তারিখে রূপান্তর করুন

  4. জাভাতে Gson লাইব্রেরি ব্যবহার করে কীভাবে একটি তারিখ ফর্ম্যাট করবেন?