দুই নির্দিষ্ট ক্যারেক্টারের মাঝপথের সব ক্যারেক্টার ম্যাচ করতে (ক্যারেক্টার রেঞ্জ) ক্যারেক্টার ক্লাস [a-z] ব্যবহার করা হয়।
[a-zA-Z]— যেকোনো ইংরেজি অক্ষর[0-9&&[^35]]— ৩ এবং ৫ বাদে সকল নম্বর (ইন্টারসেকশন)
উদাহরণ ১: অ্যালফানিউমেরিক স্ট্রিং যাচাই
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 = "^[a-zA-Z0-9]*$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println("ম্যাচ হয়েছে");
} else {
System.out.println("ম্যাচ হয়নি");
}
}
}
আউটপুট ১
একটি স্ট্রিং দিন: Hello ম্যাচ হয়েছে
আউটপুট ২
একটি স্ট্রিং দিন: sample# ম্যাচ হয়নি
উদাহরণ ২: ৩ এবং ৫ বাদে ডিজিট গণনা
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 = "[0-9&&[^35]]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("ওকারেন্স: " + count);
}
}
আউটপুট
একটি স্ট্রিং দিন: 111223333555689 ওকারেন্স: 8
ব্যাখ্যা: ইনপুটে ১,২,৬,৮,৯ — এই ডিজিটগুলো ৩ এবং ৫ নয়, তাই ম্যাচ করেছে। && হলো ক্যারেক্টার ক্লাস ইন্টারসেকশন অপারেটর।