Wyrażenia regularne - kłopot z licznikiem {Alpha}
Ostatnio zmodyfikowano 2020-02-05 22:27
idepozapalki Temat założony przez niniejszego użytkownika |
Wyrażenia regularne - kłopot z licznikiem {Alpha} » 2020-02-05 22:02:20 Chciałem zrozumieć działanie wyrażeń regularnych. Na tapetę poszedł ten artykuł: [C++] Wyrażenia regularne (C++11 / boost) http://cpp0x.pl/artykuly/?id=47 Do testów użyłem pierwszy kod: #include <iostream> #include <string> #include <regex>
using namespace std;
int main() { string tekst; regex wzorzec( " {Alpha}+ " ); cout << "Pisz. Aby skonczyc wcisnij [Ctrl] + [z] w nowym wierszu\n"; while( getline( cin, tekst ) ) { smatch wynik; if( regex_search( tekst, wynik, wzorzec ) ) cout << "Linia : " << wynik[ 0 ] << '\n'; } return 0; }
Testowałem różne wzorce i działały jednak z tym mam kłopot. Kod się kompiluje, ale nie daje się uruchomić, tzn daje ale uruchomienie powoduje Runtime to terimnate. Co robię tu źle? Chciałem użyć licznika do sprawdzenia jak praktycznie działa. Czy stworzyłem niepoprawny wzorzec ? |
|
DejaVu |
» 2020-02-05 22:16:06 A debugger coś podpowiada? |
|
killjoy |
» 2020-02-05 22:26:39 Wyrażenie regularne jest niepoprawne. Zresztą widać to w wyjątku, który jest rzucany: terminate called after throwing an instance of 'std::regex_error' what(): Unexpected character in brace expression.
|
|
DejaVu |
» 2020-02-05 22:27:57 |
|
« 1 » |