ইন্টারসেকশন ক্যারেক্টার ক্লাস
ইন্টারসেকশন (Intersection) দুটি ক্যারেক্টার রেঞ্জের কমন (common) অংশ ম্যাচ করে। সিনট্যাক্স: `[range1&&range2]` — ডাবল অ্যাম্পারস্যান্ড `&&` ব্যবহার করে।
উদাহরণ
[a-z&&[r-u]] — a-z এবং r-u-এর ইন্টারসেকশন = r, s, t, u
কোড উদাহরণ
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IntersectionExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("ইনপুট টেক্সট লিখুন: ");
String input = sc.nextLine();
// a-z এবং r-u-এর কমন ক্যারেক্টার
String regex = "[a-z&&[r-u]]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("ম্যাচ করা ক্যারেক্টার সংখ্যা: " + count);
}
}
আউটপুট উদাহরণ
ইনপুট টেক্সট লিখুন: how are you welcome to tutorialspoint
ম্যাচ করা ক্যারেক্টার সংখ্যা: 9
ব্যাখ্যা: r, s, t, u ক্যারেক্টারগুলো মোট ৯ বার পাওয়া গেছে।
ইন্টারসেকশন উদাহরণ তালিকা
| রেজেক্স | রেঞ্জ ১ | রেঞ্জ ২ | ইন্টারসেকশন (ফলাফল) |
|---|---|---|---|
[a-z&&[m-p]] | a-z | m-p | m, n, o, p |
[A-Z&&[X-Z]] | A-Z | X-Z | X, Y, Z |
[0-9&&[3-7]] | 0-9 | 3-7 | 3, 4, 5, 6, 7 |
[\p{Alpha}&&[^aeiou]] | সব অক্ষর | স্বরবর্ণ ছাড়া | ব্যঞ্জনবর্ণ |
ইন্টারসেকশন vs ইউনিয়ন vs সাবট্র্যাকশন
| অপারেশন | সিনট্যাক্স | লজিক | উদাহরণ ফলাফল |
|---|---|---|---|
| ইউনিয়ন (OR) | [r1[r2]] | r1 ∪ r2 | [a-z[0-9]] = a-z + 0-9 |
| ইন্টারসেকশন (AND) | [r1&&r2] | r1 ∩ r2 | [a-z&&[m-p]] = m, n, o, p |
| সাবট্র্যাকশন (MINUS) | [r1&&[^r2]] | r1 - r2 | [a-z&&[^aeiou]] = ব্যঞ্জনবর্ণ |
সারসংক্ষেপ
ইন্টারসেকশন `[r1&&r2]` দুটি ক্যারেক্টার সেটের কমন এলিমেন্ট পাওয়ার স্মার্ট উপায়। এটি সেট থিওরির ইন্টারসেকশনের সমতুল্য। কমপ্লেক্স ক্যারেক্টার ক্লাস ডিফাইন করতে ইউনিয়ন, ইন্টারসেকশন, সাবট্র্যাকশন কম্বাইন করে ব্যবহার করুন।