रेगेक्स लाइब्रेरी में नियमित अभिव्यक्तियों से संबंधित विभिन्न विधियां और विशेषताएं हैं। यहां हम कुछ regex_errors देखेंगे। ये रेगेक्स लाइब्रेरी में भी मौजूद हैं। कुछ रेगुलर एक्सप्रेशन निष्पादित करने के दौरान, हमें कुछ त्रुटियाँ मिलती हैं। उन त्रुटियों का उल्लेख यहाँ किया गया है।
| झंडे | <वें शैली="पाठ्य-संरेखण:केंद्र;">त्रुटियां|
|---|---|
| error_collate | रेगेक्स में, अमान्य मिलान वाले नाम। |
| error_ctype | रेगेक्स में, एक अमान्य वर्ण वर्ग नाम है। |
| error_stack | रेगेक्स को निर्धारित करने के लिए पर्याप्त मेमोरी का मिलान नहीं किया जा सकता है या नहीं। |
| error_space | स्मृति अपर्याप्त होने पर परिमित अवस्था मशीन में कनवर्ट करें |
| error_badrepeat | स्ट्रिंग में रिपीट स्पेसिफायर ( *?+{) है जो एक वैध रेगुलर एक्सप्रेशन से पहले नहीं था। |
| error_complexity | रेगेक्स के विरुद्ध प्रयास किए गए मैच की जटिलता पूर्व-निर्धारित स्तर से अधिक हो गई है |
| error_range | अमान्य वर्ण श्रेणी शामिल है। |
| त्रुटि_बैडब्रेस | रेगेक्स में बेमेल ब्रेसिज़ { और } हैं। |
| त्रुटि_ब्रेस | रेगेक्स में ब्रेसिज़ { और } के बीच अमान्य श्रेणी है। |
| 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