使用C ++正则表达式库中的regex_search

时间:2012-09-05 10:54:14

标签: c++ regex c++11

regex_search函数表现不尽如人意。

#include <iostream>
#include <regex>
#include <string>

using namespace std;

int main()
{
    string str = "Hello world";
    const regex rx("Hello");
    cout << regex_search(str.begin(), str.end(), rx) << endl;
    return 0;
}

输出

0

发生了什么事?

1 个答案:

答案 0 :(得分:1)

正如对该问题的评论所指出的,C ++标准库的旧实现尚未支持C ++ 11中的所有功能。当然,libc++是一个例外,因为它最初是专门为C ++ 11构建的。

根据this bug report对libstdc ++ <regex>的支持,仅对GCC 4.9版本实施。您可以在libstdc++ status page上查看当前状态。

可以确认,您的示例适用于GCC 4.9,但仍然无法使用GCC 4.8。