C++ 替换正则表达式中的所有反向引用

C++ 替换正则表达式中的所有反向引用,c++,regex,visual-studio-2012,visual-studio-2013,backreference,C++,Regex,Visual Studio 2012,Visual Studio 2013,Backreference,当我试图替换cout时,我曾用它来调试一个更复杂的日志函数。我遇到了以下问题: 当前消息的构造如下所示: testValue; cout << "value" << testValue; 其中SSTR是一个自定义宏,用于将in转换为字符串 然而,我不知道如何做的是,如何替换任意数量的输出 到目前为止,我得到的是这个表达式: cout((?([^\r\n])\s)*\<\<(?([^\r\n])\s)*((?<string>(\".*?\"))|(

当我试图替换cout时,我曾用它来调试一个更复杂的日志函数。我遇到了以下问题:

当前消息的构造如下所示:

testValue;
cout << "value" << testValue;
其中SSTR是一个自定义宏,用于将in转换为字符串

然而,我不知道如何做的是,如何替换任意数量的输出

到目前为止,我得到的是这个表达式:

cout((?([^\r\n])\s)*\<\<(?([^\r\n])\s)*((?<string>(\".*?\"))|(?<id>(\b(_\w+|[\w-[0-9_]]\w*)\b))))*
我非常感谢您的帮助:


亲切的问候,劳里斯

那是什么语言?你想做什么?编码语言是C++。regex解析器是VisualStudio2013的解析器。我正在尝试从使用cout的日志记录切换到使用更精细的日志记录功能的日志记录。您确定cout只用于日志记录吗?顺便说一句:您更复杂的日志记录方法是否没有标准的istream接口?是的,关于cout的想法不错,但其目的是替换所有cout,并在必要时删除它们。由于需要更多的参数,我自己的日志没有istream接口。??您可以使用istream接口保存所需的任何信息。也许你想看看?顺便说一句,当与C文件和线程同步时,iostreams除了可能缺少性能之外,唯一缺少的地方是国际化,这对于日志记录来说不是问题。
cout((?([^\r\n])\s)*\<\<(?([^\r\n])\s)*((?<string>(\".*?\"))|(?<id>(\b(_\w+|[\w-[0-9_]]\w*)\b))))*
log(${id}, programComponent, 2)