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

জাভা রেগুলার এক্সপ্রেশনে PatternSyntaxException ক্লাস


PatternSyntaxException ক্লাসটি রেগুলার এক্সপ্রেশন স্ট্রিং-এ সিনট্যাক্স এরর হলে নিক্ষেপ করা একটি আনচেকড 익সেপশন (unchecked exception) বোঝায়। এই ক্লাসে মূলত চারটি প্রধান মেথড রয়েছে:

  • getDescription() — এররটির বিবরণ রিটার্ন করে।

  • getIndex() — এররটির সূচক (index) রিটার্ন করে।

  • getPattern() — ত্রুটিযুক্ত রেগুলার এক্সপ্রেশন প্যাটার্নটি রিটার্ন করে।

  • getMessage() — এরর, সূচক, প্যাটার্ন এবং প্যাটার্ন-এ ত্রুটির নির্দেশনা ধারণকারী পুরো মেসেজটি রিটার্ন করে।

উদাহরণ

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

public class PatternSyntaxExceptionExample {
    public static void main(String args[]) {
        // ব্যবহারকারী থেকে স্ট্রিং পড়া
        System.out.println("Enter a String");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        
        // একটি শব্দের প্রথম ডিজিট মিল করার জন্য রেগুলার এক্সপ্রেশন (এখানে ভুল সিনট্যাক্স)
        String regex = "[";
        
        // রেগুলার এক্সপ্রেশন কম্পাইল করা
        try {
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(input);
            String result = matcher.replaceAll(" ");
            System.out.print("Text after removing unwanted spaces: \n" + result);
        } catch(PatternSyntaxException ex) {
            System.out.println("Description: " + ex.getDescription());
            System.out.println("Index: " + ex.getIndex());
            System.out.println("Message: " + ex.getMessage());
            System.out.println("Pattern: " + ex.getPattern());
        }
    }
}

আউটপুট

Enter a String this is a [sample text [
Description: Unclosed character class
Index: 0
Message: Unclosed character class near index 0
[
^
Pattern: [
  1. জাভা রেগুলার এক্সপ্রেশনে (?> re) সাব-এক্সপ্রেশন ব্যাখ্যা

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

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

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