#include <iostream>
#include <vector>
#include <regex>

int main() {
   const std::regex reg(R"(start:\s*(\d+)\s*end:)");
   std::smatch match;
   std::string s = "garbage 111222 garbage ... 999888 fewfew... start:        123456       end:     start:         654321     end:";
   std::vector<std::string> results(std::sregex_token_iterator(s.begin(), s.end(), reg, 1),
                               std::sregex_token_iterator());

   for (auto result : results)
   {
      std::cout << result << std::endl;
   }

   return 0;
}