提问者:小点点

如何用最后一个匹配字符和常量替换字符串中的最后一个匹配字符


我有一根弦,

string basestring= "A\B+C+E\FG+\K987+54h\";

我必须替换所有出现的特殊字符与相同的特殊字符和。

输出应为:

"A\\B\+C\+E\\FG\+\\K987\+54h\\"

目前,我正在使用下面的代码来获取结果。

regex Reg("[^A-Z0-9]", regex_constants::icase);
string help = regex_replace("A\B+C+E\FG+\K987+54h\", Reg, "\\");

这将用\替换所有的特殊字符,如何获得最后出现的特殊字符?


共1个答案

匿名用户

执行此替换时:

regex_replace("A\B+C+E\FG+\K987+54h\", Reg, "\\");

您正在准确地替换\\。 要获得所需的输出,需要在匹配中进行替换,如下所示:

std::regex_replace(R"(A\B+C+E\FG+\K987+54h\)", Reg, "\\$0");