Wyrażenia regularne - kłopot z licznikiem {Alpha}
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Wyrażenia regularne - kłopot z licznikiem {Alpha}

AutorWiadomość
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:

C/C++
#include <iostream>
#include <string>
#include <regex> //jeœli mamy standard C++0x
//#include <boost/regex.hpp> // jeœli nie mamy kompilatora zgodnego z standardem C++0x, musimy sami zainstalowaæ bibliotekê boost
//using namespace boost // jw.;narzêdzia biblioteki boost zmajduj¹ siê w przestrzeni nazw boost
using namespace std; // w C++0x narzêdzia z <regex> znajduj¹ siê w  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; // tutaj bêdzie zapisany 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 ?
P-176175
» 2020-02-05 22:16:06
A debugger coś podpowiada?
P-176176
» 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.
P-176177
» 2020-02-05 22:27:57
P-176178
« 1 »
 Strona 1 z 1