Я разместил следующий код на ideone и Coliru:
#include <iostream>
#include <regex>
#include <string>
int main()
{
std::string example{" <match1> <match2> <match3>"};
std::regex re{"<([^>]+)>"};
std::regex_token_iterator<std::string::iterator> it{example.begin(), example.end(), re, 1};
decltype(it) end{};
while (it != end) std::cout << *it++ << std::endl;
return 0;
}
Оба сайта используют GCC 4.9.2. Я не знаю, какие компиляционные аргументы использует ideone, но в Coliru нет ничего необычного.
Coliru не дает мне результат match1
:
Coliru
# g++ -v 2>&1 | grep version; \
# g++ -std=c++14 -O2 -Wall -pedantic -pthread main.cpp && ./a.out
gcc version 4.9.2 (GCC)
match2
match3
ideone (и, кстати, Coliru clang 3.5.0 с помощью libС++)
match1
match2
match3
Есть ли в моем коде поведение undefined или что-то еще? Что может вызвать это?