2013-10-28 28 views
0

請考慮以下代碼。在不同的編譯器中執行C++ std :: regex

std::regex re ("(qwe|asd|zxc)+"); 
std::cout << std::regex_match ("zxcqweasd", re) << std::endl; 

當我使用cl編譯程序將打印10如果我用g++編譯器。

其中std::regex執行錯誤?

我正在使用g++編譯器版本4.7.2-5和cl編譯器版本17.00.60610.1。

+4

g ++正則表達式沒有完全實現。 http://stackoverflow.com/questions/12530406/is-gcc4-7-buggy-about-regular-expressions – clcto

+0

謝謝,我會等'g ++ 4.9' – Victor

+0

@clcto - 「沒有完全實現」 - 我想,在營銷談話。 「僅作爲無用的存根執行」更準確。 –

回答

0

gcc 4.7還沒有完成對C++ 11的標準庫支持。正則表達式是缺失的主要部分。

cl編譯器是正確的。

相關問題