2015-11-10 23 views
1

給定一個ECMAScript正則表達式我試圖根據指定的模式測試一個字符串。例如字符串"+0.1"應該通過測試。但是std::regex_match的結果是falseC++ 11正則表達式模式匹配

我還測試了regexr的正則表達式模式和它的作品。

那我該怎麼做?

回答

7

\.\d中的反斜槓被視爲C++字符串文字的轉義字符。

要麼使用原始字符串(R"***(^[+-]?\d{1,3}\.?\d?$)***")或逃避反斜槓這樣"^[+-]?\\d{1,3}\\.?\\d?$"

Live On Coliru