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

সি++-এ regex_error (রেজেক্স এরর)


regex লাইব্রেরিতে রেগুলার এক্সপ্রেশন সম্পর্কিত বিভিন্ন মেথড এবং ফিচার রয়েছে। এখানে আমরা কিছু regex_error দেখব। এই এররগুলো রেজেক্স লাইব্রেরিতে রয়েছে। রেগুলার এক্সপ্রেশন এক্সিকিউট করার সময় কিছু এরর দেখা দেয়। সেগুলো নিচে তালিকাভুক্ত করা হলো।

ফ্ল্যাগস (Flags) এরর (Errors)
error_collateরেজেক্সে অবৈধ কোলেশন (collation) নাম রয়েছে।
error_ctypeরেজেক্সে অবৈধ ক্যারেক্টার ক্লাস নাম রয়েছে।
error_stackরেজেক্স মেলানো যায় কিনা তা নির্ধারণের জন্য পর্যাপ্ত মেমরি নেই।
error_spaceফিনিট স্টেট মেশিন-এ রূপান্তর করার সময় মেমরি অপর্যাপ্ত।
error_badrepeatস্ট্রিং-এ রিপিট স্পেসিফায়ার ( *?+{) রয়েছে যা একটি বৈধ রেগুলার এক্সপ্রেশনের আগে নেই।
error_complexityরেজেক্সের বিপরীতে মিলান করার জটিলতা একটি पूर्व-নির্ধারিত স্তর অতিক্রম করেছে।
error_rangeঅবৈধ ক্যারেক্টার রেঞ্জ রয়েছে।
error_badraceরেজেক্সে মিসম্যাচড ব্রেস { এবং } রয়েছে।
error_braceরেজেক্সে ব্রেস { এবং } এর মধ্যে অবৈধ রেঞ্জ রয়েছে।
error_parenরেজেক্সে মিসম্যাচড প্যারেনথেসিস ( এবং ) রয়েছে।
error_brackরেজেক্সে মিসম্যাচড ব্র্যাকেট [ এবং ] রয়েছে।
error_backrefরেজেক্স অবৈধ ব্যাক রেফারেন্স আশা করে।
error_escapeরেজেক্স কোনো অবৈধ এস্কেপড ক্যারেক্টার বা ট্রেইলিং এস্কেপ অনুমতি দেয় না।

উদাহরণ

#include <iostream>
#include <regex>

int main() {
    try {
        std::regex re("[A-Z][0"); // একটি এরর রয়েছে
    } catch (const std::regex_error& err) {
        std::cout << "There is an error. The error is: " << err.what() << '\n';
        if (err.code() == std::regex_constants::error_brack) {
            std::cout << "This is the code of error_brack\n";
        }
    }
}

আউটপুট

There is an error. The error is: Unexpected character in bracket expression. This is the code of error_brack
  1. C++-এ আইডেন্টিফায়ার (Identifiers)

  2. লিনাক্সে C++-এর জন্য সেরা IDE কী?

  3. লিনাক্সে C++-এর জন্য সেরা IDE কী? (আলাদা লেখা)

  4. উইন্ডোজে C++-এর জন্য সেরা IDE কী? (আলাদা লেখা)