![](/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.