সাবএক্সপ্রেশন/মেটাক্যারেক্টার "re{n}" পূর্ববর্তী এক্সপ্রেশনের ঠিক n বার ওকারেন্স ম্যাচ করে।
উদাহরণ ১: "to{1}" প্যাটার্ন
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String args[]) {
String regex = "to{1}";
String input = "Welcome to Tutorialspoint";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
int count = 0;
while (m.find()) {
count++;
}
System.out.println("ম্যাচের সংখ্যা: " + count);
}
}
আউটপুট
ম্যাচের সংখ্যা: 2
ব্যাখ্যা: to{1} মানে 't' এবং তারপর 'o' ঠিক ১ বার। ইনপুটে "to" দুবার আছে (Welcome **to**, **to**rialspoint)।
উদাহরণ ২: ২ ডিজিট বয়স যাচাই
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 = "\\d{2}";
System.out.println("আপনার বয়স দিন:");
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
if (m.matches()) {
System.out.println("বয়স ভ্যালু গ্রহণযোগ্য");
} else {
System.out.println("বয়স ভ্যালু গ্রহণযোগ্য নয়");
}
}
}
আউটপুট ১
আপনার বয়স দিন: 25 বয়স ভ্যালু গ্রহণযোগ্য
আউটপুট ২
আপনার বয়স দিন: 2252 বয়স ভ্যালু গ্রহণযোগ্য নয়
আউটপুট ৩
আপনার বয়স দিন: twenty বয়স ভ্যালু গ্রহণযোগ্য নয়
নোট: matches() পুরো স্ট্রিং ম্যাচ করে, তাই "2252" (৪ ডিজিট) এবং "twenty" (ডিজিট নেই) উভয়ই ফেল হয়েছে।