Boost-Version 1.60.0 gcc 4.8.4Boost-regex Ausnahme von Konstruktor geworfen für * {
Wenn ich ein boost :: regex Objekt mit dem String konstruieren. .*{
Ich erhalte eine Ausnahme, dass die besagt:
Dieser Fehler tritt auf, wenn das Objekt ein boost::regex::extended
Typ ist, aber nicht, wenn es boost::regex::perl
ist.
So wirft die im Anschluss an die Ausnahme:
regString(".*{");
boost::regex reg_e(regString, boost::regex::extended);
aber nicht:
regString(".*{");
boost::regex reg_p(regString, boost::regex::perl);
Ist das erwartete Verhalten oder ein Bug?
Wenn es erwartet wird, warum? und was ist eine angemessene Arbeit?
Ah, ich sehe, wie das funktioniert. Der Vollständigkeit halber erhalte ich den gleichen Fehler für einen 'boost :: regex :: basic' Typ, selbst wenn die Regex-Zeichenkette'. * \ {' –
ist, hat es funktioniert oder zumindest verstanden? –
Ja, es funktioniert. Ich habe Regex-Objekte für alle 3 Typen erstellt (Basic, Extended, Perl-kompatibel), also würde man scheitern, wenn ein anderer funktioniert. Ich versuche nun, jede Objektkonstruktion separat zu erfassen und dem Benutzer zu berichten, wenn ein Fehler auftritt, während die anderen fortfahren dürfen. Vielen Dank! –