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

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

java.regex প্যাকেজের Pattern ক্লাস একটি রেগুলার এক্সপ্রেশনের কম্পাইলড রিপ্রেজেন্টেশন। compile() মেথড একটি স্ট্রিং (রেগুলার এক্সপ্রেশন) গ্রহণ করে এবং একটি Pattern অবজেক্ট রিটার্ন করে।

উদাহরণ ১: বেসিক কম্পাইল ও ডিজিট চেক

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

public class CompileExample {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("ইনপুট স্ট্রিং দিন:");
        String input = sc.nextLine();
        
        // ডিজিট খুঁজে বের করার রেগেক্স
        String regex = "(\\d)";
        
        // রেগুলার এক্সপ্রেশন কম্পাইল
        Pattern pattern = Pattern.compile(regex);
        
        // কম্পাইলড রেগেক্স প্রিন্ট
        System.out.println("কম্পাইলড রেগুলার এক্সপ্রেশন: " + pattern.toString());
        
        Matcher matcher = pattern.matcher(input);
        
        if (matcher.find()) {
            System.out.println("দেওয়া স্ট্রিং-এ ডিজিট আছে");
        } else {
            System.out.println("দেওয়া স্ট্রিং-এ ডিজিট নেই");
        }
    }
}

আউটপুট

ইনপুট স্ট্রিং দিন: hello my id is 1120KKA
কম্পাইলড রেগুলার এক্সপ্রেশন: (\d)
দেওয়া স্ট্রিং-এ ডিজিট আছে

উদাহরণ ২: ফ্ল্যাগসহ কম্পাইল (CASE_INSENSITIVE)

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

public class CompileExample {
    public static void main(String args[]) {
        // CASE_INSENSITIVE ফ্ল্যাগ সহ কম্পাইল
        Pattern pattern = Pattern.compile("[t]", Pattern.CASE_INSENSITIVE);
        
        Matcher matcher = pattern.matcher("Tutorialspoint");
        int count = 0;
        while (matcher.find()) {
            count++;
        }
        System.out.println("ম্যাচের সংখ্যা: " + count);
    }
}

আউটপুট

ম্যাচের সংখ্যা: 3

সাধারণ ফ্ল্যাগস:

  • Pattern.CASE_INSENSITIVE - কেস উপেক্ষা
  • Pattern.MULTILINE - ^ এবং $ লাইন শুরু/শেষে কাজ করে
  • Pattern.DOTALL - ডট (.) নিউলাইনও ম্যাচ করে
  • Pattern.UNICODE_CASE - ইউনিকোড-আওয়্যার কেস-ইনসেনসিটিভ

এই ফ্ল্যাগগুলো বিটওয়াইজ OR (|) দিয়ে কম্বাইন করা যায়।

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

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

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

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