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

জাভা রেগেক্স দিয়ে যেকোনো ক্যারেক্টার ম্যাচ করা (.)

জাভা রেগুলার এক্সপ্রেশনে মেটাক্যারেক্টার "." (ডট) যেকোনো একক ক্যারেক্টার ম্যাচ করে (অ্যালফাবেট, নম্বর, স্পেশাল ক্যারেক্টার — নিউলাইন বাদে)।

উদাহরণ ১: স্ট্রিংয়ের টোটাল ক্যারেক্টার গণনা

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

public class Example {
    public static void main(String args[]) {
        System.out.println("একটি স্ট্রিং দিন:");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        // যেকোনো ক্যারেক্টার
        String regex = ".";
        
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        int count = 0;
        while (matcher.find()) {
            count++;
        }
        System.out.println("দেওয়া স্ট্রিং-এ " + count + " টি ক্যারেক্টার আছে।");
    }
}

আউটপুট

একটি স্ট্রিং দিন: hello how are you welcome to tutorialspoint
দেওয়া স্ট্রিং-এ 42 টি ক্যারেক্টার আছে।

ব্যবহার: a...b — 'a' এবং 'b' এর মাঝপথে যেকোনো ৩ ক্যারেক্টার। .* — ০ বা অধিক যেকোনো ক্যারেক্টার (নিউলাইন বাদে)।

উদাহরণ ২: 'b' দিয়ে শুরু, 'a' দিয়ে শেষ, মাঝপথে যেকোনো ক্যারেক্টার

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

public class RegexExample {
    public static void main(String args[]) {
        String regex = "^b.*a$";
        Scanner sc = new Scanner(System.in);
        System.out.println("৫টি ইনপুট স্ট্রিং দিন: ");
        String input[] = new String[5];
        for (int i = 0; i < 5; i++) {
            input[i] = sc.nextLine();
        }
        
        Pattern p = Pattern.compile(regex);
        for (int i = 0; i < 5; i++) {
            Matcher m = p.matcher(input[i]);
            if (m.find()) {
                System.out.println(input[i] + ": গ্রহণযোগ্য");
            } else {
                System.out.println(input[i] + ": গ্রহণযোগ্য নয়");
            }
        }
    }
}

আউটপুট

৫টি ইনপুট স্ট্রিং দিন: barbara boolean baroda ram raju
barbara: গ্রহণযোগ্য
boolean: গ্রহণযোগ্য নয়
baroda: গ্রহণযোগ্য
ram: গ্রহণযোগ্য নয়
raju: গ্রহণযোগ্য নয়

নোট: ডিফল্টে ডট (.) নিউলাইন ম্যাচ করে না। Pattern.DOTALL ফ্ল্যাগ দিলে নিউলাইনও ম্যাচ করবে।

  1. জাভা রেগেক্স দিয়ে স্ট্রিং/লাইন এর শেষ ম্যাচ করা ($)

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

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

  4. জাভাতে স্ট্রিং-এ অনন্য ক্যারেক্টার খুঁজে বের করা