-2
#include <regex>
#include <string>
#include <iostream>
using namespace std;
bool IsMatched()
{
string str = R"(Liy_0-3863)";
string re = R"([:\-_a-zA-Z\d]+)";
auto flags = std::regex_constants::ECMAScript;
return std::regex_match(str.data(),
std::regex(re.data(), re.size(), flags));
}
int main()
{
cout << boolalpha << IsMatched();
}
- 打ち鳴らす4.0出力
true
。 - gcc 6.2出力
false
。
これはバグですか?clangまたはgccですか?これはバグですか?clangまたはgccですか?
GCCトランクは 'true'を出力するので、答えは明らかだと思います。 –
質問タイトルは非常に誤解を招く。この質問は、検索することで決して見つけることはできません。問題のタイトルをよりわかりやすくし、キーワードに正規表現を追加してください。 –
@ライアンそれはこれです\ –