এক রেগুলার এক্সপ্রেশন হলো ক্যারেক্টারগুলোর একটি স্ট্রিং যা একটি প্যাটার্ন ডিফাইন/ফর্ম করে ইনপুট টেক্সট সার্চ করার জন্য। একটি রেগুলার এক্সপ্রেশন এক বা একাধিক ক্যারেক্টার ধারণ করতে পারে। এর মাধ্যমে আপনি স্ট্রিং সার্চ বা রিপ্লেস করতে পারেন।
জাভা java.util.regex প্যাকেজ প্রদান করে প্যাটার্ন ম্যাচিংয়ের জন্য। এই প্যাকেজের Pattern ক্লাস একটি রেগুলার এক্সপ্রেশনের কম্পাইলড রিপ্রেজেন্টেশন। একটি রেগুলার এক্সপ্রেশনকে স্ট্রিংয়ের সাথে ম্যাচ করার জন্য এই ক্লাসে দুটি মেথড আছে:
- compile(): এই মেথড একটি রেগুলার এক্সপ্রেশন রিপ্রেজেন্টকারী স্ট্রিং গ্রহণ করে
Patternঅবজেক্ট রিটার্ন করে। - matcher(): এই মেথড একটি স্ট্রিং ভ্যালু গ্রহণ করে একটি
Matcherঅবজেক্ট তৈরি করে যা দিয়া দেয়া স্ট্রিংটি বর্তমান প্যাটার্ন অবজেক্টের প্যাটার্নের সাথে ম্যাচ করা হয়।
উদাহরণ
নিচের জাভা প্রোগ্রাম ইউজার থেকে একটি স্ট্রিং নেয়, যাচাই করে এতে অ্যালফাবেট (দ উভয় কেস) এবং ডিজিট আছে কিনা।
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String args[]) {
String regex = "[a-zA-Z][0-9]?";
Scanner sc = new Scanner(System.in);
System.out.println("Enter an input string: ");
String input = sc.nextLine();
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
if (m.find()) {
System.out.println("Match occurred");
} else {
System.out.println("Match not occurred");
}
}
}
আউটপুট ১
Enter an input string: sample text
Match occurred
আউটপুট ২
Enter an input string: sample text 34 56
Match occurred