重複の可能性:
c++11正規表現との一致はありません
私はC++11をカバーするこの本を読んでいて、正規表現について説明している章に行きました。グループを参照する必要があるときはいつでも、グループ化と\ 1の参照に関する部分を取得するまで、すべてが正常に機能していました。私のコードは完全にうまくコンパイルされます:
#include <iostream>
#include <regex>
#include <string>
int main()
{
try
{
regex r1("<(.*)>.*</\\1>");
bool found = regex_match(string("<tag>value</tag>"),r1);
cout << "Does the string match: ";
cout << boolalpha << found << '\n';
}catch( exception e)
{
cout << e.what() << '\n';
}
return 0;
}
ただし、セグメンテーション違反(コアダンプ)メッセージが表示されます。この小さなスニペットは本から直接使用されたので、これが間違っていることは非常に疑わしいです。注:私は-std = c++0xを使用してコンパイルします。注:Ubuntu12.04でCode::Blocksを使用しています
どんな助けでも大歓迎です!ありがとう!