std::regex unterstützt kein string_view
-
Bekomme einen stringview in meine Funktion übergeben. Diesen sollte ich mit einem regulären Ausdruck überprüfen
string_view wird allerdings nicht in den regulären unterstützt. Ich habe mir dazu jetzt einfach mal den string_view in einen neuen string kopiert.
#include <string> #include <string_view> #include <regex> bool MyTest(std::string_view name) { const std::regex arrayRegex(R"(^ARRAY [\d*\.\.\d*] OF \w*)"); std::string sname {name}; // string_view kann nicht bei regex verwendet werden if (std::regex_match(sname, match, arrayRegex) ) { // ... return true; } return false; }
Ist das so ok oder gibt es da ne bessere Möglichkeit?
-
Wenn ich mich nicht irre kannst du hier auch mit Iteratoren arbeiten. Sieh dir die verschiedene Überladungen an.
-
if (std::regex_match(name.begin(), name.end(), match, arrayRegex) )
funktioniert nicht.
was anderes habe ich nicht gefunden
-
@booster sagte in std::regex unterstützt kein string_view:
funktioniert nicht.
Nicht so ausführlich, sonst könnte noch jemand etwas dazu sagen.
-
Error C2672: 'std::regex_search': no matching overloaded function found (527)
-
@booster sagte in std::regex unterstützt kein string_view:
Error C2672: 'std::regex_search': no matching overloaded function found (527)
Nicht so ausführlich, sonst könnte noch jemand etwas dazu sagen.
Output Tab!
-
Muss ich das nun verstehen. Wieso sollte ich nun den ganzen output hier posten. regex_match nimmt keinen string_view entgegen und auch keinen Iterator auf einen string_view.
-
Die vollständige Fehlermeldung wäre schon hilfreich
-
@booster sagte in std::regex unterstützt kein string_view:
Lesen?
#include <string> #include <string_view> #include <regex> bool MyTest(std::string_view name) { std::regex arrayRegex(R"(^ARRAY [\d*\.\.\d*] OF \w*)"); std::match_results<std::string_view::const_iterator> base_match; if(std::regex_match(name.begin(), name.end(), base_match, arrayRegex)) { // ... return true; } return false; }
übersetzt.
-
@manni66 sagte in std::regex unterstützt kein string_view:
Lesen?
Na also geht doch.
Für was wurde nun die Ausgabe benötigt.
-
@booster sagte in std::regex unterstützt kein string_view:
Für was wurde nun die Ausgabe benötigt.
Ich bin froh, daß da kein '?' dahinter ist.