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

জাভায় Pattern flags() মেথড উদাহরণসহ ব্যাখ্যা

java.regex প্যাকেজের Pattern ক্লাস একটি রেগুলার এক্সপ্রেশনের কম্পাইল করা রিপ্রেজেন্টেশন।

এই ক্লাসের compile() মেথড একটি স্ট্রিং মান গ্রহণ করে যা একটি রেগুলার এক্সপ্রেশন প্রতিনিধিত্ব করে এবং একটি Pattern অবজেক্ট ফেরত দেয়, নিচে এই মেথডের সিগনেচার দেওয়া হলো:

static Pattern compile(String regex)

এই মেথডের আরেকটি ভেরিয়েন্ট একটি ইন্টিজার মান গ্রহণ করে যা ফ্ল্যাগ প্রতিনিধিত্ব করে, নিচে দুটি প্যারামিটারসহ compile মেথডের সিগনেচার দেওয়া হলো:

static Pattern compile(String regex, int flags)

Pattern ক্লাস বিভিন্ন ফিল্ড প্রদান করে যারা প্রতিটি একটি ফ্ল্যাগ প্রতিনিধিত্ব করে:

ক্র. নংফিল্ড এবং বর্ণনা
১CANON_EQ
দুটি ক্যারেক্টার ক্যানোনিক্যালি সমান হলে মেলে।
২CASE_INSENSITIVE
কেস নির্বিশেষে ক্যারেক্টার মেলায়।
৩COMMENTS
প্যাটার্নে হোয়াইটস্পেস এবং কমেন্ট অনুমতি দেয়।
৪DOTALL
ডটল মোড সক্ষম করে। যেখানে "." মেটা ক্যারেক্টার লাইন টার্মিনেটরসহ সব ক্যারেক্টার মেলায়।
৫LITERAL
প্যাটার্নের লিটারেল পার্সিং সক্ষম করে। অর্থাৎ ইনপুট সিকোয়েন্সের সব মেটাক্যারেক্টার এবং এস্কেপ সিকোয়েন্স লিটারেল ক্যারেক্টার হিসেবে বিবেচিত হয়।
৬MULTILINE
মাল্টিলাইন মোড সক্ষম করে অর্থাৎ পুরো ইনপুট সিকোয়েন্স একটি একক লাইন হিসেবে বিবেচিত হয়।
৭UNICODE_CASE
ইউনিকোড-সচেতন কেস ফোল্ডিং সক্ষম করে অর্থাৎ CASE_INSENSITIVE এর সাথে ব্যবহার করলে ইউনিকোড ক্যারেক্টার উভয় কেসে মিলবে।
৮UNICODE_CHARACTER_CLASS
পারদিভাষিত ক্যারেক্টার ক্লাস এবং POSIX ক্যারেক্টার ক্লাসের ইউনিকোড সংস্করণ সক্ষম করে।
৯UNIX_LINES
এই ফ্ল্যাগ ইউনিক্স লাইন মোড সক্ষম করে।

flags() মেথড বর্তমান প্যাটার্নে ব্যবহৃত ফ্ল্যাগ ফেরত দেয়।

উদাহরণ

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class COMMENTES_Example {
    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])/ # For Month\n"
                     + "(3[01]|[12][0-9]|0[1-9])/ # For Date\n"
                     + "[0-9]{4}$ # For Year";
        
        // Pattern অবজেক্ট তৈরি
        Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
        
        // Matcher অবজেক্ট তৈরি
        Matcher matcher = pattern.matcher(dob);
        boolean result = matcher.matches();
        
        if(result) {
            System.out.println("Given date of birth is valid");
        } else {
            System.out.println("Given date of birth is not valid");
        }
        
        System.out.println("Flag used: " + pattern.flags());
    }
}

আউটপুট

Enter your name: Krishna
Enter your Date of birth: 09/26/1989
Given date of birth is valid
Flag used: 4
  1. জাভাতে Pattern.quote() মেথড - উদাহরণ সহ ব্যাখ্যা

  2. জাভাতে Pattern.matcher() মেথড - উদাহরণ সহ ব্যাখ্যা

  3. জাভাতে Pattern compile() মেথড - উদাহরণ সহ ব্যাখ্যা

  4. জাভাতে Matcher matches() মেথড - উদাহরণ সহ ব্যাখ্যা