による この参照私は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は1GCCの std::regex
サポートはまだプライムタイムの準備ができていません。見る: gcc 4.8以前では正規表現についてバグがありますか?
回答№2の場合は0
@qwrrtyが示唆するようにstd :: regexのサポートがまだバグの場合、文字クラス "[0-9]"
の代用品です "d"
.