রেগেক্স লাইব্রেরিতে রেগুলার এক্সপ্রেশন সম্পর্কিত বিভিন্ন পদ্ধতি এবং বৈশিষ্ট্য রয়েছে। এখানে আমরা কিছু regex_errors দেখতে পাব। এগুলি রেজেক্স লাইব্রেরিতেও রয়েছে। কিছু রেগুলার এক্সপ্রেশন এক্সিকিউট করার সময় আমরা কিছু এরর পাই। সেই ত্রুটিগুলি এখানে উল্লেখ করা হয়েছে৷
৷| পতাকা | ত্রুটি |
|---|---|
| error_collate | রেজেক্স-এ, অবৈধ সমন্বিত নাম। |
| error_ctype | রেজেক্সে, একটি অবৈধ অক্ষর শ্রেণীর নাম রয়েছে। |
| error_stack | রেজেক্স মেলে কি না তা নির্ধারণ করার জন্য যথেষ্ট মেমরি নেই। |
| error_space | Finite State Machine এ রূপান্তর করুন, যখন মেমরি অপর্যাপ্ত হয় |
| error_badrepeat | স্ট্রিংটির পুনরাবৃত্তি স্পেসিফায়ার (*?+{) আছে যা একটি বৈধ রেগুলার এক্সপ্রেশনের আগে ছিল না। |
| error_complexity | একটি রেজেক্সের বিরুদ্ধে চেষ্টা করা ম্যাচের জটিলতা একটি প্রাক-সেট স্তর অতিক্রম করেছে |
| error_range | অবৈধ অক্ষর পরিসর রয়েছে। |
| error_badbrace | রেজেক্সে অমিল রয়েছে { এবং }। |
| error_brace | রেজেক্সে বন্ধনী { এবং } এর মধ্যে অবৈধ পরিসর রয়েছে। |
| error_paren | রেজেক্সে অমিল বন্ধনী রয়েছে ( এবং )। |
| error_brack | রেজেক্সে অমিল বন্ধনী রয়েছে ([ এবং ])। |
| error_backref | রেজেক্স অবৈধ ব্যাক রেফারেন্স ব্যতীত। |
| error_escape | রেজেক্স কোনো অবৈধ এস্কেপড ক্যারেক্টার, বা ট্রেলিং এস্কেপকে অনুমতি দেয় না। |
উদাহরণ
#include <iostream>
#include <regex>
int main() {
try {
std::regex re("[A-Z][0"); //an error is present
} 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