![](/img/trans.png)
[英]Get string between 2 delimiters using C++ STl TR1 regular expressions
[英]C++ TR1 Regular Expressions Not Available
我正在嘗試將'TR1'正則表達式擴展用於某些C ++字符串解析。 我已經讀過這個需要<regex>
頭和命名空間std :: tr1
我可以使用<regex>
標頭進行編譯(雖然它強制我使用標志, -std=c++0x
或-std=gnu++0x
)
但是,當我嘗試在程序中使用std::tr1
命名空間時,編譯失敗並顯示tr1“不是命名空間名稱”的消息。 我不能做的事情,
std::tr1::regex rx("mypattern");
我已經讀過自gcc 4.3.0以來一直支持TR1正則表達式。 我通過gcc 4.4.5使用g ++。
我錯過了什么嗎?
但盡管如此,在C ++ 11中, regex
已從名稱空間std::tr1
移至std
。 所以,你應該寫std::regex
而不是std::tr1::regex
std::regex
:
std::regex rx("mypattern");
我不知道4.7之前的哪些g ++版本也適用。 但這個ideone示例使用g ++ 4.7進行編譯。 但是,請記住,此編譯器版本中未實現正則表達式實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.