0

正規表現を使用して C++ で複雑なソフトウェアを作成しようとしています...今、いくつかのテストを行っていますが、実行時エラーが発生しました。Ubuntu 12.04 64bit で gcc 4.7 を試し、最新の CodeBlocks にコンパイラを含めました (gcc 4.7 の MinGW 移植だと思います)。私はこのウェブサイトhttp://gskinner.com/RegExr/でそれを試して動作するので、正規表現は正しいです。彼らは認識して追加する必要があります。これはソフトウェアです:

#include <iostream>
#include <string>
#include <regex>
using namespace std;

string stringa;

int main()
{
        cin >> stringa;
        if (regex_match(stringa, regex("^[0-9]*\\+[0-9]*$", regex::ECMAScript))) //need to insert \\ to prevent escape sequence
        {
                cout << "Addition" << endl;
        }
        else
        {
                cout << "Not addition" << endl;
        }
        return 0;
}

それを実行すると、入力を挿入した後、次のエラーが表示されます。

terminate called after throwing an instance of 'std::regex_error'
what(): regex_error     Annullato (core dump creato)

問題は私のコードですか、それともコンパイラですか?

4

0 に答える 0