Hi,
ich wollte mich einmal in regex einarbeiten und stoße leider schon zu Beginn an ein Anwendungsproblem. Ich habe mich an deinem Bsp im Netz orientiert und erhalte einen std::regex_error, den ich nicht herleiten kann.
Folgender Beispiel-code :
#include <iostream>
#include <string>
#include <regex>
int main()
{
std::string s = "1234" ;
std::regex integer("(\\+|-)?[0-9]+") ;
if( std::regex_match(s,integer) )
{
std::clog << "Found matches" << std::endl ;
}
else
{
return 0 ;
}
return 0 ;
}
ich kann es problemlos kompilieren:
g++ -std=c++11 test.cpp
Lasse ich es laufen erhalte ich folgenden Fehler und Programmabruch (ja ich könnte es durch try/catch abfangen, aber es geht nun um regex)
terminate called after throwing an instance of 'std::regex_error'
what(): regex_error
zsh: abort (core dumped) ./a.out
Ich habe 0-9 auch schon durch [:digit:] ersetzt, aber das half auch nicht.
So grundsätzlich meine ich regex verstanden zu haben, aber das hilft mir hier gerade nicht weiter. Was ist denn das Problem an der Sache ?
Besten Dank für eure Tipps,
L-K