একটি রেগুলার এক্সপ্রেশন হল অক্ষরের একটি স্ট্রিং যা একটি ইনপুট পাঠ্য অনুসন্ধানের জন্য একটি প্যাটার্নকে সংজ্ঞায়িত/ফর্ম করে। একটি রেগুলার এক্সপ্রেশনে এক বা একাধিক অক্ষর থাকতে পারে, রেগুলার এক্সপ্রেশন ব্যবহার করে আপনি একটি স্ট্রিং অনুসন্ধান বা প্রতিস্থাপন করতে পারেন।
জাভা রেগুলার এক্সপ্রেশনের সাথে প্যাটার্ন মেলানোর জন্য java.util.regex প্যাকেজ প্রদান করে। প্যাটার্ন এই প্যাকেজের ক্লাস একটি রেগুলার এক্সপ্রেশনের একটি সংকলিত উপস্থাপনা। একটি স্ট্রিং এর সাথে একটি রেগুলার এক্সপ্রেশন মেলাতে এই ক্লাসটি −
নামে দুটি পদ্ধতি প্রদান করে- কম্পাইল(): এই পদ্ধতিটি একটি রেগুলার এক্সপ্রেশনের প্রতিনিধিত্বকারী একটি স্ট্রিং গ্রহণ করে এবং প্যাটার্ন অবজেক্টের একটি অবজেক্ট প্রদান করে।
- ম্যাচার(): এই পদ্ধতিটি একটি স্ট্রিং মান গ্রহণ করে এবং একটি ম্যাচার অবজেক্ট তৈরি করে যা প্রদত্ত স্ট্রিংকে বর্তমান প্যাটার্ন অবজেক্ট দ্বারা উপস্থাপিত প্যাটার্নের সাথে মেলে৷
উদাহরণ
জাভা প্রোগ্রাম অনুসরণ করে ব্যবহারকারীর কাছ থেকে একটি স্ট্রিং গ্রহণ করে, এটিতে বর্ণমালা (উভয় ক্ষেত্রে) রয়েছে কিনা তা যাচাই করে, এটি অঙ্কগুলিও গ্রহণ করে।
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();
//Creating a Pattern object
Pattern p = Pattern.compile(regex);
//Creating a Matcher object
Matcher m = p.matcher(input);
if(m.find()) {
System.out.println("Match occurred");
}else {
System.out.println("Match not occurred");
}
}
} আউটপুট 1
Enter an input string: sample text Match occurred
আউটপুট 2
Enter an input string: sample text 34 56 Match occurred