সাবএক্সপ্রেশন/মেটাক্যারেক্টার "a|b" 'a' অথবা 'b' যেকোনো একটি ম্যাচ করে।
উদাহরণ ১: "Hello" বা "welcome" ম্যাচ
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String args[]) {
String regex = "Hello|welcome";
String input = "Hello how are you 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
উদাহরণ ২: জেন্ডার ভ্যালুযেশন (M, F, O)
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String args[]) {
// M বা F বা O এক্সাক্ট ম্যাচ
String regex = "M|F|O";
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("ভুল ইনপুট");
}
}
}
আউটপুট ১
ছাত্রের জেন্ডার দিন: M সব ঠিক আছে
আউটপুট ২
ছাত্রের জেন্ডার দিন: male ভুল ইনপুট
নোট: | অপারেটরের প্রেসিডেন্স নিচু, তাই কমপ্লেক্স প্যাটার্নে গ্রুপিং (?:...) ব্যবহার করুন। matches() পুরো স্ট্রিং ম্যাচ করে, তাই "male" ম্যাচ করলো না।