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

জাভা রেগুলার এক্সপ্রেশনে re{n,m} মেটাক্যারেক্টার ব্যাখ্যা

সাবএক্সপ্রেশন/মেটাক্যারেক্টার "re{n,m}" পূর্ববর্তী এক্সপ্রেশনের কমপক্ষে n এবং সর্বোচ্চ m বার ওকারেন্স ম্যাচ করে।

উদাহরণ ১: "xyy{2,4}" প্যাটার্ন

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

public class RegexExample {
    public static void main(String args[]) {
        String regex = "xyy{2,4}";
        String input = "xxyyzxxyyyyxyyzxxyyzz";
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(input);
        int count = 0;
        while (m.find()) {
            count++;
        }
        System.out.println("ম্যাচের সংখ্যা: " + count);
    }
}

আউটপুট

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

ব্যাখ্যা: xyy{2,4} মানে 'x' এবং তারপর 'y' ২ থেকে ৪ বার। ইনপুটে "xyyyy" (x + y ৪ বার) একবার ম্যাচ করেছে।

উদাহরণ ২: ১ থেকে ২০ অক্ষরের নাম যাচাই

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 = "[a-zA-Z]{1,20}";
        Scanner sc = new Scanner(System.in);
        System.out.println("ছাত্রের নাম দিন:");
        String name = sc.nextLine();
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(name);
        
        if (m.matches()) {
            System.out.println("নাম উপযুক্ত");
        } else {
            System.out.println("নাম অনুপযুক্ত");
        }
    }
}

আউটপুট ১

ছাত্রের নাম দিন: Mouktika
নাম উপযুক্ত

আউটপুট ২

ছাত্রের নাম দিন: ka 34
নাম অনুপযুক্ত

আউটপুট ৩

ছাত্রের নাম দিন: Sri Veera Venkata Satya Sai Suresh Santosh Samrat
নাম অনুপযুক্ত

নোট: উদাহরণ ৩-এ স্পেস থাকায় ম্যাচ হয়নি (রেগেক্সে স্পেস নেই)। পুরো নাম যাচাই করতে [a-zA-Z\\s]{1,20} বা আলাদা লজিক লাগবে।

  1. জাভা রেগুলার এক্সপ্রেশনে \A মেটাক্যারেক্টার ব্যাখ্যা

  2. জাভা রেগুলার এক্সপ্রেশনে . (ডট) মেটাক্যারেক্টার ব্যাখ্যা

  3. জাভা রেগুলার এক্সপ্রেশনে $ (ডলার) মেটাক্যারেক্টার ব্যাখ্যা

  4. জাভা রেগুলার এক্সপ্রেশনে ^ (ক্যারেরট) মেটাক্যারেক্টার ব্যাখ্যা