java.util.regex.Matcher ক্লাস ম্যাচ অপারেশন করার ইঞ্জিন রিপ্রেজেন্ট করে। এই ক্লাসের কোনো কনস্ট্রাক্টর নেই; java.util.regex.Pattern ক্লাসের matcher() মেথড দিয়ে Matcher অবজেক্ট পাওয়া যায়।
matches() মেথড পুরো ইনপুট স্ট্রিংকে প্যাটার্নের সাথে ম্যাচ করে। পুরো রিজন ম্যাচ করলে true, অন্যথায় false রিটার্ন করে। find()-এর মত আংশিক ম্যাচ না করে পুরো স্ট্রিং ম্যাচ চায়।
উদাহরণ: স্ট্রিং ডিজিট দিয়ে শুরু হয় কিনা
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchesExample {
public static void main(String args[]) {
System.out.println("একটি স্ট্রিং দিন:");
Scanner sc = new Scanner(System.in);
String input = sc.next();
// ডিজিট দিয়ে শুরু হওয়া শব্দ ম্যাচ করার রেগেক্স
String regex = "^[0-9].*$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
boolean bool = matcher.matches();
if (bool) {
System.out.println("প্রথম ক্যারেক্টার ডিজিট");
} else {
System.out.println("প্রথম ক্যারেক্টার ডিজিট নয়");
}
}
}
আউটপুট
একটি স্ট্রিং দিন: 4hiipla প্রথম ক্যারেক্টার ডিজিট
matches() vs find(): matches() পুরো স্ট্রিং ম্যাচ করে, find() সাবস্ট্রিং খুঁজে। উপরের উদাহরণে matches() ব্যবহৃত হয়েছে, তাই ^ এবং $ অংকর ব্যবহার করা হয়েছে।