0
With std::regex_replace,
我可以使用「$」匹配單詞的末尾,然後附加其他字符。
std::cout << std::regex_replace("word",std::regex("$"),"s") << '\n';
//prints: words
由於結果與原始輸入不同,我假定正則表達式已匹配。
然而,
std::cout << std::boolalpha;
std::cout << std::regex_match("word",std::regex("$")) << '\n';
//prints: false
怎麼會是正則表達式不匹配,但regex_replace能夠進行替換?
我也嘗試添加一個*
爲0個或多個字符,而是拋出異常:
std::cout << std::regex_match("word",std::regex("*$")) << '\n';
std::cout << std::regex_replace("word",std::regex("*$"),"s") << '\n';