C++ 正则表达式替换问题

C++ 正则表达式替换问题,c++,regex,string,c++11,visual-studio-2012,C++,Regex,String,C++11,Visual Studio 2012,我正在使用C++11(windows 7 64位,visual studio 2012) 我用一个循环来替换另一个子串。 我有一个文件,其中的数字用双斜杠(//)分隔。 例如: 10//20//1 3//4//5 5//2//1 to 10 20 1 3 4 5 5 2 1 然而,当我尝试使用regex时,似乎我做错了什么。什么也没发生。另外,我在哪里可以阅读更多关于正则表达式C++11的信息 string fData(data.substr(2)); string replaceStr("1

我正在使用C++11(windows 7 64位,visual studio 2012)

我用一个循环来替换另一个子串。 我有一个文件,其中的数字用双斜杠(//)分隔。 例如:

10//20//1 3//4//5 5//2//1 to 10 20 1 3 4 5 5 2 1
然而,当我尝试使用regex时,似乎我做错了什么。什么也没发生。另外,我在哪里可以阅读更多关于正则表达式C++11的信息

string fData(data.substr(2));
string replaceStr("10//20//1 3//4//5 5//2//1");
regex r("//"
regex_replace(fData,r," ");
但什么也没发生

就像我之前说的,如果你能指出一个网页,除了答案之外,我还可以阅读更多关于这个的内容。我有它的工作,但我想开始使用正则表达式


谢谢
regex\u replace
没有对字符串进行就地编辑;它返回输出字符串

例如:
auto out=regex\u replace(fData,r,”)


在本例中,out将是一个预期值的字符串(“102013345221”)。是很有用的。享受吧

在性能方面。使用regex_replace与使用find and replace循环和替换相同吗?
regex_replace
似乎在引擎盖下使用了regex迭代器(不要相信我的话)。从其他答案和互联网上看到,与其他语言的正则表达式实现(例如Python)相比,C++11
regex_replace
相当慢。您可以自己对其进行基准测试,以确定哪个版本适合您的性能需求。