জাভার লালচী (greedy) কোয়ান্টিফায়ারগুলো এক্সপ্রেশনের একাধিক ওকারেন্স ম্যাচ করতে দেয়:
Exp{n}— এক্সপ্রেশন ঠিক n বারExp{n,}— এক্সপ্রেশন কমপক্ষে n বারExp{n,m}— এক্সপ্রেশন কমপক্ষে n এবং সর্বোচ্চ m বার
উদাহরণ ১: ঠিক ৫ অক্ষরের শব্দ গ্রহণ
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 = "\\w{5}";
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] + ": গ্রহণযোগ্য নয়");
}
}
}
}
আউটপুট
৫টি ইনপুট স্ট্রিং দিন: rama raja raghu megha malya rama: গ্রহণযোগ্য নয় raja: গ্রহণযোগ্য নয় raghu: গ্রহণযোগ্য megha: গ্রহণযোগ্য malya: গ্রহণযোগ্য
উদাহরণ ২: ২ থেকে ৬ টি নন-ওয়ার্ড ক্যারেক্টার
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 = "\\W{2,6}";
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] + " ম্যাচ হয়েছে");
}
}
}
}
আউটপুট
৫টি ইনপুট স্ট্রিং দিন: hello how are you #$#% # #$@%%#&& sample text #$#% ম্যাচ হয়েছে #$@%%#&& ম্যাচ হয়েছে
উদাহরণ ৩: ১ থেকে ২০ অক্ষরের নাম যাচাই
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 নাম উপযুক্ত