কম্পিউটার টিউটোরিয়াল

জাভাতে রেগেক্স ব্যবহার করে ডেট ফরম্যাট ভ্যালিডেট করা (MM-DD-YYYY)

java.util.regex প্যাকেজ জাভাতে キャラクター সিকোয়েন্সে নির্দিষ্ট প্যাটার্ন খুঁজে বের করার জন্য বিভিন্ন ক্লাস প্রদান করে।

এই প্যাকেজের Pattern ক্লাস একটি রেগুলার এক্সপ্রেশন-এর কম্পাইলড রিপ্রেজেন্টেশন। একটি রেগুলার এক্সপ্রেশন স্ট্রিং-এর সাথে ম্যাচ করার জন্য এই ক্লাস দুটি মেথড প্রদান করে:

  • compile() - একটি রেগুলার এক্সপ্রেশন রিপ্রেজেন্ট করার স্ট্রিং গ্রহণ করে এবং Pattern অবজেক্ট রিটার্ন করে।
  • matcher() - একটি স্ট্রিং ভ্যালু গ্রহণ করে এবং একটি Matcher অবজেক্ট তৈরি করে যা দেয়া স্ট্রিংকে বর্তমান Pattern অবজেক্ট দ্বারা রিপ্রেজেন্টেড প্যাটার্নের সাথে ম্যাচ করে।

MM-DD-YYYY ফরম্যাটে ডেট ম্যাচ করার রেগুলার এক্সপ্রেশন:

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

তাই, MM-DD-YYYY ফরম্যাটের একটি ডেট স্ট্রিং ভ্যালিডেট করতে:

  • উপরের রেগুলার এক্সপ্রেশন Pattern ক্লাসের compile() মেথড ব্যবহার করে কম্পাইল করুন এবং Pattern অবজেক্ট রিট্রিভ করুন।
  • প্রাপ্ত অবজেক্ট ব্যবহার করে matcher() মেথড আহ্বান করুন প্রয়োজনীয় ডেট স্ট্রিং পাস করে প্যারামিটার হিসেবে এবং Matcher অবজেক্ট রিট্রিভ করুন।
  • Matcher ক্লাসের matches() মেথড ম্যাচ হলে true রিটার্ন করে, অন্যথায় false। এই মেথড আহ্বান করুন matcher অবজেক্টে।

উদাহরণ

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

ব্যাখ্যা: রেগেক্স ^(1[0-2]|0[1-9]) মাস (01-12), (3[01]|[12][0-9]|0[1-9]) দিন (01-31), [0-9]{4} বছর (৪ ডিজিট)। স্ল্যাশ (/) সেপারেটর। ^ এবং $ পুরো স্ট্রিং ম্যাচ নিশ্চিত করে।

  1. জাভা রেগেক্স দিয়ে ক্যারেক্টার রেঞ্জ ম্যাচ করা

  2. জাভা রেগেক্স দিয়ে ফিক্সড সেট অফ ক্যারেক্টার ম্যাচ করা

  3. জ্যাকসনে (Jackson) @JsonFormat ব্যবহার করে একাধিক ডেট ফরম্যাট ম্যাপ করা

  4. জাভাতে রেগেক্স ব্যবহার করে স্ট্রিং থেকে HTML ট্যাগ এক্সট্র্যাক্ট করা