#include <iostream>
#include <regex>
using namespace std;
int main() {
string str = "11101010101011101";
regex rx("(01)+", std::regex::extended);
vector<pair<int, int>> index_matches; // results saved here
for(auto it = std::sregex_iterator(str.begin(), str.end(), rx); it != std::sregex_iterator(); ++it) {
std::smatch match = *it;
index_matches.push_back(make_pair<int, int>(it->position(), it->position() + match.length() -1));
}
for(auto n: index_matches)
std::cout << "(" << n.first << ", " << n.second << ")" << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXN0cmluZyBzdHIgPSAiMTExMDEwMTAxMDEwMTExMDEiOwoJcmVnZXggcngoIigwMSkrIiwgc3RkOjpyZWdleDo6ZXh0ZW5kZWQpOwoJCgl2ZWN0b3I8cGFpcjxpbnQsIGludD4+IGluZGV4X21hdGNoZXM7IC8vIHJlc3VsdHMgc2F2ZWQgaGVyZSAKCSAgICAgICAgICAgICAgICAgICAgICAgICAgIAoJICAgICAgICAgICAgICAgICAgICAgICAgICAgCglmb3IoYXV0byBpdCA9IHN0ZDo6c3JlZ2V4X2l0ZXJhdG9yKHN0ci5iZWdpbigpLCBzdHIuZW5kKCksIHJ4KTsgaXQgIT0gc3RkOjpzcmVnZXhfaXRlcmF0b3IoKTsgKytpdCkgewoJICAgIAoJICAgIHN0ZDo6c21hdGNoIG1hdGNoID0gKml0OyAKCSAgICBpbmRleF9tYXRjaGVzLnB1c2hfYmFjayhtYWtlX3BhaXI8aW50LCBpbnQ+KGl0LT5wb3NpdGlvbigpLCBpdC0+cG9zaXRpb24oKSArIG1hdGNoLmxlbmd0aCgpIC0xKSk7Cgl9CgkKCWZvcihhdXRvIG46IGluZGV4X21hdGNoZXMpCgkgICAgc3RkOjpjb3V0IDw8ICIoIiA8PCBuLmZpcnN0IDw8ICIsICIgPDwgbi5zZWNvbmQgPDwgIikiIDw8IHN0ZDo6ZW5kbDsKCQoJcmV0dXJuIDA7Cn0=