0
爲什麼這段代碼不能替代'我的用戶代理'的'Mozilla/5.0'?C++ regex_replace問題
正則表達式在Notepad ++中正常工作,但在我的控制檯應用程序中無法正常工作。
#include <regex>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
string header =
"GET/HTTP/1.1\r\n\
Host: com.com\r\n\
User-Agent: Mozilla/5.0\r\n\
Connection: keep-alive";
tr1::regex rx("^(User-Agent:).+$", regex_constants::icase);
header = regex_replace(header, rx, "$1 My User Agent", regex_constants::format_first_only);
return 0;
}
您正在使用什麼編譯器?正則表達式C++ 11直到最近纔得到完全支持。這可能是因爲記事本++使用的是與您的控制檯不同的編譯器(這是萬一您沒有收到編譯錯誤) – vsoftco
我使用VS 2012. 平臺工具集:Visual Studio 2012(v110) – Khachatur
您是否收到錯誤用VS編譯?或沒有任何反應? – vsoftco