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

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

সাবএক্সপ্রেশন/মেটাক্যারেক্টার "\d" ডিজিট ক্যারেক্টার ম্যাচ করে (অর্থাৎ [0-9])।

উদাহরণ ১: নির্দিষ্ট প্যাটার্ন "ডিজিট+স্পেস+24" ম্যাচ

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

public class RegexExample {
    public static void main(String args[]) {
        String regex = "\\d 24";
        String input = "This is sample text 12 24 56 89 24";
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(input);
        int count = 0;
        while (m.find()) {
            count++;
        }
        System.out.println("ম্যাচের সংখ্যা: " + count);
    }
}

আউটপুট

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

ব্যাখ্যা: ইনপুটে " 24" দুবার আছে (১২ ২৪ এবং ৮৯ ২৪) — প্রতিটোর আগে একটি ডিজিট ও স্পেস আছে।

উদাহরণ ২: ১০ ডিজিট ফোন নাম্বার যাচাই

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

public class Test {
    public static void main(String args[]) {
        String regex = "\\d{10}";
        Scanner sc = new Scanner(System.in);
        System.out.println("আপনার ফোন নম্বর দিন (১০ ডিজিট): ");
        String input = sc.nextLine();
        
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(input);
        
        if (m.find()) {
            System.out.println("OK");
        } else {
            System.out.println("ভুল ইনপুট");
        }
    }
}

আউটপুট ১

আপনার ফোন নম্বর দিন (১০ ডিজিট): 9848022338
OK

আউটপুট ২

আপনার ফোন নম্বর দিন (১০ ডিজিট): 545
ভুল ইনপুট

নোট: find() সাবস্ট্রিং খুঁজে, matches() পুরো স্ট্রিং। উদাহরণ ২-এ find() ব্যবহার করা হয়েছে, তাই ইনপুটে ১০ ডিজিট কোথাও থাকলে OK হবে। স্ট্রিক্ট ভ্যালিডেশনের জন্য matches() বা ^\\d{10}$ ব্যবহার করুন।

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

  2. জাভা রেগুলার এক্সপ্রেশনে [^...] কনস্ট্রাক্ট ব্যাখ্যা

  3. জাভা রেগুলার এক্সপ্রেশনে re* মেটাক্যারেক্টার ব্যাখ্যা

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