/ / std :: regex_matchと一桁のマッチング - c ++、regex

一桁をstd :: regex_matchとマッチさせる - c ++、regex

による この参照私は1桁の数字を

std::regex e1 ("\d");

しかし、次のテストコードを実行すると、正規表現の例外が発生します。

#include <iostream>
#include <string>
#include <regex>

int main()
{
std::regex r("\d");
std::string s("9");
if (std::regex_match(s, r)) { std::cout << "matched!" << std::endl; }
}

回答:

回答№1は1

GCCの std::regex サポートはまだプライムタイムの準備ができていません。見る: gcc 4.8以前では正規表現についてバグがありますか?


回答№2の場合は0

@qwrrtyが示唆するようにstd :: regexのサポートがまだバグの場合、文字クラス "[0-9]" の代用品です "d".