কম্পিউটার

প্যাটার্ন মেলে জাভাতে রেগুলার এক্সপ্রেশন কীভাবে ব্যবহার করবেন?


একটি রেগুলার এক্সপ্রেশন হল অক্ষরের একটি স্ট্রিং যা একটি ইনপুট পাঠ্য অনুসন্ধানের জন্য একটি প্যাটার্নকে সংজ্ঞায়িত/ফর্ম করে। একটি রেগুলার এক্সপ্রেশনে এক বা একাধিক অক্ষর থাকতে পারে, রেগুলার এক্সপ্রেশন ব্যবহার করে আপনি একটি স্ট্রিং অনুসন্ধান বা প্রতিস্থাপন করতে পারেন।

জাভা রেগুলার এক্সপ্রেশনের সাথে প্যাটার্ন মেলানোর জন্য 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

  1. জাভাতে রেগুলার এক্সপ্রেশন \S মেটাক্যারেক্টার

  2. জাভাতে রেগুলার এক্সপ্রেশন \s মেটাক্যারেক্টার ব্যাখ্যা কর

  3. জাভাতে রেগুলার এক্সপ্রেশন $ (ডলার) মেটাক্যারেক্টার

  4. কিভাবে আমরা পাইথন নিয়মিত এক্সপ্রেশন একটি তারিখ স্ট্রিং মেলে ব্যবহার করব?