কম্পিউটার টিউটোরিয়াল

জাভা রেগুলার এক্সপ্রেশনে (?> re) সাব-এক্সপ্রেশন ব্যাখ্যা

সাবএক্সপ্রেশন/মেটাক্যারেক্টার "(?> re)" একটি স্বতন্ত্র প্যাটার্ন ম্যাচ করে ব্যাকট্র্যাকিং ছাড়া। এটিকে অটোমিক গ্রুপিং বা পজেসিভ গ্রুপিং ও বলা হয়। একবার এটি ম্যাচ করলে, রেগেক্স ইঞ্জিন সেটা থেকে ব্যাকট্র্যাক করে বিকল্প প্যাটার্ন চেষ্টা করে না।

উদাহরণ: ডিজিট ম্যাচিং

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PatternExample {
    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.find();
        if (bool) {
            System.out.print("ম্যাচ পাওয়া গেল");
        } else {
            System.out.print("ম্যাচ পাওয়া যায়নি");
        }
    }
}

আউটপুট

একটি স্ট্রিং দিন: 9848022338
ম্যাচ পাওয়া গেল

অটোমিক গ্রুপিংয়ের গুরুত্ব: জটিল রেগেক্স-এ ব্যাকট্র্যাকিং্‌স কারণে পারফরম্যান্স সমস্যা (ক্যাটাস্ট্রোফিক ব্যাকট্র্যাকিং) এড়াতে অটোমিক গ্রুপিং ব্যবহার করা হয়। একবার অটোমিক গ্রুপ ম্যাচ করলে, সেটা "সব বা কিছু না" ভাবেই কাজ করে।

  1. জাভা রেগুলার এক্সপ্রেশনে (?: re) সাব-এক্সপ্রেশন ব্যাখ্যা

  2. জাভা রেগুলার এক্সপ্রেশনে (re) সাব-এক্সপ্রেশন ব্যাখ্যা

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

  4. জাভাতে রেগুলার এক্সপ্রেশন ব্যবহার করে স্ট্রিং থেকে নম্বর বের করা