প্যারেনথেসিস ম্যাচ করার রেজেক্স
প্যারেনথেসিস `(` বা `)` ম্যাচ করার রেজেক্স: ^.*[\\(\\)].*$
রেজেক্স ভাঙন
^— স্ট্রিংয়ের শুরু.*— শূন্য বা অধিক যেকোনো ক্যারেক্টার[\\(\\)]— ক্যারেক্টার ক্লাস: `\(` বা `\)` (এস্কেপ করা হয়েছে).*— শূন্য বা অধিক যেকোনো ক্যারেক্টার$— স্ট্রিংয়ের শেষ
উদাহরণ ১: Pattern/Matcher ব্যবহার করে
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ParenthesisMatchExample1 {
public static void main(String[] args) {
String regex = "^.*[\\(\\)].*$";
Scanner sc = new Scanner(System.in);
System.out.println("ডেটা লিখুন: ");
String input = sc.nextLine();
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
System.out.println("ইনপুট স্বীকৃত (প্যারেনথেসিস পাওয়া গেছে)");
} else {
System.out.println("স্বীকৃত নয় (প্যারেনথেসিস নেই)");
}
}
}
আউটপুট উদাহরণ ১
ডেটা লিখুন: sample(text) with parenthesis
ইনপুট স্বীকৃত (প্যারেনথেসিস পাওয়া গেছে)
ডেটা লিখুন: sample text
স্বীকৃত নয় (প্যারেনথেসিস নেই)
উদাহরণ ২: String.matches() ব্যবহার করে (সহজ পদ্ধতি)
import java.util.Scanner;
public class ParenthesisMatchExample2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("ইমেইল অ্যাড্রেস লিখুন: ");
String e_mail = sc.nextLine();
String regex = "^.*[\\(\\)].*$";
boolean result = e_mail.matches(regex);
if (result) {
System.out.println("বৈধ ম্যাচ");
} else {
System.out.println("অবৈধ ম্যাচ");
}
}
}
আউটপুট উদাহরণ ২
ইমেইল অ্যাড্রেস লিখুন: sample(text) with parenthesis
বৈধ ম্যাচ
ইমেইল অ্যাড্রেস লিখুন: sample text
অবৈধ ম্যাচ
উন্নত রেজেক্স: শুধু প্যারেনথেসিস যাচাই (পুরো স্ট্রিং নয়)
যদি শুধু প্যারেনথেসিস আছে কিনা জানতে হয় (পুরো স্ট্রিং ম্যাচ করার প্রয়োজন নাই), তবে সহজ রেজেক্স:
String simpleRegex = "[\\(\\)]"; // শুধু ( বা ) খুঁজুন
boolean hasParenthesis = Pattern.compile(simpleRegex).matcher(input).find();
সারসংক্ষেপ
প্যারেনথেসিস `(` এবং `)` রেগেক্সে স্পেশাল মেনিং রাখে (গ্রুপিং), তাই এস্কেপ করতে হয়: `\(` এবং `\)`। ক্যারেক্টার ক্লাসে `[\\(\\)]` দিয়ে দুটোই একসাথে ম্যাচ করা যায়। `String.matches()` পুরো স্ট্রিং ম্যাচ করে, `Matcher.find()` সাবস্ট্রিং খুঁজে বের করে — প্রয়োজন অনুযায়ী বেছে নিন।