libc ++ / libstdc ++:相同的正则表达式,不同的结果

时间:2017-09-01 13:31:11

标签: c++ regex compatibility libstdc++ libc++

我已经获得了以下代码,用于打印' 6'当使用libstdc ++和' 7'使用libc ++时(这是正则表达式匹配的长度)。

在我看来,libstdc ++行为是正确的,但我不确定。

更重要的是:我可以做些什么来确保两个库上的相同行为?

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

int main()
{
    std::regex reg{R"_(\{(-?[0-9]+)\.\.(-?[0-9]+)})_"};
    std::string str = "{-2..2}";

    std::regex_iterator<std::string::iterator> rit (str.begin(), str.end(), reg);
    std::regex_iterator<std::string::iterator> rend;

    std::cout << rit->length();
}

0 个答案:

没有答案