我已经获得了以下代码,用于打印' 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();
}