জাভার java.util.regex প্যাকেজ ক্যারেক্টার সিকোয়েন্সে নির্দিষ্ট প্যাটার্ন খুঁজে বের করার জন্য ক্লাস প্রদান করে। 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/yyyy] ফরম্যাটে দিন: ");
String date = sc.next();
String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
// Pattern.matches() স্ট্যাটিক মেথড কল
boolean result = Pattern.matches(regex, date);
if (result) {
System.out.println("তারিখ বৈধ");
} else {
System.out.println("তারিখ অবৈধ");
}
}
}
আউটপুট ১
তারিখ স্ট্রিং [dd/mm/yyyy] ফরম্যাটে দিন: 01/12/2019 তারিখ বৈধ
আউটপুট ২
তারিখ স্ট্রিং [dd/mm/yyyy] ফরম্যাটে দিন: 2019-21-12 তারিখ অবৈধ
মন্তব্য: Pattern.matches() একটি কনভেনিয়েন্স মেথড যা Pattern.compile(regex).matcher(input).matches() এর সমতুল্য। এটি এককালীন যাচাইের জন্য উপযুক্ত।