Javascript C++;11 std::regex_replace()创建带有特定字符串问题的regexp

Javascript C++;11 std::regex_replace()创建带有特定字符串问题的regexp,javascript,c++,regex,c++11,stl,Javascript,C++,Regex,C++11,Stl,我目前正在尝试使用C++11库编写一个类函数,该函数将用其他单词替换字符串中出现的每个单词 void replace(std::string subject, std::string pattern, std::string replacement) { std::regex exp(pattern); std::cout << std::regex_replace(subject, exp, replacement); } replace(std::stri

我目前正在尝试使用C++11库编写一个类函数,该函数将用其他单词替换字符串中出现的每个单词

void replace(std::string subject, std::string pattern, std::string replacement)
{
    std::regex exp(pattern);
    std::cout <<  std::regex_replace(subject, exp, replacement); 
}


replace(std::string("Hello world"),std::string("world"),std::string("planet")); 
void替换(std::string主题、std::string模式、std::string替换)
{
标准::正则表达式(模式);

完整性:正如Xaqq和Captain Obvlious在评论中所述,gcc还不支持正则表达式

请参阅以供参考

在MSVC 2012上,您的函数与所需的输出一起工作

replace("Hello world", "^(.*)world(.*)$", "$1planet$2");
你好,星球


什么是
主题
模式
,以及
替换
你在传递它?编辑你的问题并包含这些信息,否则我们只会依赖我们美妙的叮当声水晶球。嗯……这在VC++10上有效,但不是GCC 4.7.2。我似乎需要使用boost。非常感谢你的帮助。在Ja中vaScript,它只是
string.replace(/regexp/g,“repstring”);
这个产品不同的输出应该是:
Hello planet
在gcc版本4.7.2上,它不会产生任何输出。我们是否在stdlib实现问题上运行?在gcc 4.8.1上也是一样(没有输出)还有叮当声+3。3@Xaqq不确定,但由于OP似乎不感兴趣,我将继续跟进,如果是,我将提交一个bugreport@CaptainObvlious事实上,似乎regex还没有在GCC中实现。