!!!??? どうなってるの??? これ、"_" の場所を変えたりしたらマッチするようになるんですよ。 なぜか? わからない。わかりたくもない。 こんなファッキンなバグが、gcc 4.9.2 まで残ってるんですよ。 4.9.3 では直っていました。 その2 今度は、これをgcc 4.9.2 で実行してみましょう。 文字クラスにマッチさせるだけの簡単な正規表現です。 string s("~"); smatch m; regex re(R"([~\-_])"); if (regex_search(s, m, re)) { cout << m[0] << endl; } else { cout << "Not matched" << endl; }