এক রেগুলার এক্সপ্রেশন হলো ক্যারেক্টারগুলোর একটি বিশেষ সিকোয়েন্স যা আপনাকে অন্যান্য স্ট্রিং বা স্ট্রিং সেট ম্যাচ বা খুঁজে বের করতে সাহায্য করে। এগুলো টেক্সট ও ডেটা সার্চ, এডিট বা ম্যানিপুলেট করতে ব্যবহৃত হয়। জাভা java.util.regex প্যাকেজ প্রদান করে রেগুলার এক্সপ্রেশন দিয়ে প্যাটার্ন ম্যাচিংয়ের জন্য।
Matcher ক্লাস
এক Matcher অবজেক্ট হলো প্যাটার্ন ইন্টারপ্রেট করার ইঞ্জিন যা ইনপুট স্ট্রিংয়ের বিরুদ্ধে ম্যাচ অপারেশন পারফর্ম করে। Pattern ক্লাসের মতোই Matcher ক্লাসের কোনো পাবলিক কনস্ট্রাক্টর নেই। আপনি Pattern অবজেক্টের matcher() মেথড আহ্বান করে একটি Matcher অবজেক্ট পান।
এই ক্লাসের ইনস্ট্যান্সগুলো একাধিক কনকারেন্ট থ্রেড দ্বারা ব্যবহারের জন্য সেফ নয়।
উদাহরণ
নিচের জাভা প্রোগ্রাম ইউজার থেকে ৫টি স্ট্রিং নেয় এবং ডিজিট দিয়ে শুরু হওয়া স্ট্রিংগুলো প্রিন্ট করে।
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StartingwithDigit {
public static void main(String args[]) {
String regex = "^[0-9].*$";
Scanner sc = new Scanner(System.in);
System.out.println("Enter 5 input strings: ");
String input[] = new String[5];
for (int i = 0; i < 5; i++) {
input[i] = sc.nextLine();
}
Pattern p = Pattern.compile(regex);
System.out.println("Strings starting with digits: ");
for (int i = 0; i < 5; i++) {
Matcher m = p.matcher(input[i]);
if (m.matches()) {
System.out.println(m.group());
}
}
}
}
আউটপুট
Enter 5 input strings: sample string 1 sample string 2 11 sample string 3 22 sample string 4 43534 56353 636
Strings starting with digits: 11 sample string 3 22 sample string 4 43534 56353 636