C++ 如何插入格式str和don';t删除C+中boost::regex_replace()中输入字符串中匹配的正则表达式+;?

C++ 如何插入格式str和don';t删除C+中boost::regex_replace()中输入字符串中匹配的正则表达式+;?,c++,regex,string,boost-regex,C++,Regex,String,Boost Regex,我想在句子中的标点符号和其他单词之间留出空格。但是boost::regex_replace()将标点替换为空格,我想在句子中保留一个标点! 例如,在这段代码中,输出应该是“Hello.hi,” regexe1(“[,]”); std::basic_string str=“Hello.hi,”; std::basic_string fmt=“”; cout您需要在fmt字符串中使用替换变量。如果我正确理解了文档,那么在没有标志字段的情况下,您将需要使用 在该子语言中,您使用$&表示匹配的内容,因此

我想在句子中的标点符号和其他单词之间留出空格。但是boost::regex_replace()将标点替换为空格,我想在句子中保留一个标点! 例如,在这段代码中,输出应该是“Hello.hi,”

regexe1(“[,]”);
std::basic_string str=“Hello.hi,”;
std::basic_string fmt=“”;

cout您需要在
fmt
字符串中使用替换变量。如果我正确理解了文档,那么在没有标志字段的情况下,您将需要使用

在该子语言中,您使用
$&
表示匹配的内容,因此您应该尝试将
fmt
定义为:

std::basic_string<char> fmt = " $& ";
std::basic_string fmt=“$&”

这应该会将每个标点改为相同的字符,并用空格包围。

他可以用std::string替换std::basic_字符串是的,我注意到了,但决定集中精力回答被问到的问题。
std::basic_string<char> fmt = " $& ";