次のコードが "と一致するものがありません。"と表示される理由はありますか?コンパイラやライブラリのバージョンに関する何か?私はg ++ a.cppでコンパイルしました。tr1/regexに関する問題。反対の結果を返します
#include <tr1/regex>
#include <iostream>
#include <string>
using namespace std;
int main()
{
const std::tr1::regex pattern("(\\w+day)");
std::string weekend = "Saturday and Sunday";
std::tr1::smatch result;
bool match = std::tr1::regex_search(weekend, result, pattern);
if(match)
{
for(size_t i = 1; i < result.size(); ++i)
{
std::cout << result[i] << std::endl;
}
}else
std::cout << "no match" << std::endl;
return 0;
}
+1完全なテストケースです。 –
このコードは非常に明白で、標準に向かって(少なくとも私のバージョンでは)コンパイラの不完全なサポートが疑われています。これをどのように確認できますか? – cateof
参照用:MSVC 2010 SP1(16.00.40219.01)は、一致を正しくコンパイルして検索します。使用しているGCCのバージョンを指定していません。 – DCoder