জাভা রেগুলার এক্সপ্রেশনে মেটাক্যারেক্টার "." (ডট) যেকোনো একক ক্যারেক্টার ম্যাচ করে (অ্যালফাবেট, নম্বর, স্পেশাল ক্যারেক্টার — নিউলাইন বাদে)।
উদাহরণ ১: স্ট্রিংয়ের টোটাল ক্যারেক্টার গণনা
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 = ".";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("দেওয়া স্ট্রিং-এ " + count + " টি ক্যারেক্টার আছে।");
}
}
আউটপুট
একটি স্ট্রিং দিন: hello how are you welcome to tutorialspoint দেওয়া স্ট্রিং-এ 42 টি ক্যারেক্টার আছে।
ব্যবহার: a...b — 'a' এবং 'b' এর মাঝপথে যেকোনো ৩ ক্যারেক্টার। .* — ০ বা অধিক যেকোনো ক্যারেক্টার (নিউলাইন বাদে)।
উদাহরণ ২: 'b' দিয়ে শুরু, 'a' দিয়ে শেষ, মাঝপথে যেকোনো ক্যারেক্টার
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 = "^b.*a$";
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] + ": গ্রহণযোগ্য নয়");
}
}
}
}
আউটপুট
৫টি ইনপুট স্ট্রিং দিন: barbara boolean baroda ram raju barbara: গ্রহণযোগ্য boolean: গ্রহণযোগ্য নয় baroda: গ্রহণযোগ্য ram: গ্রহণযোগ্য নয় raju: গ্রহণযোগ্য নয়
নোট: ডিফল্টে ডট (.) নিউলাইন ম্যাচ করে না। Pattern.DOTALL ফ্ল্যাগ দিলে নিউলাইনও ম্যাচ করবে।