#include <iostream>
#include <regex>
using namespace std;
int main() {
std::regex regx("\\$(\\w+)\\$(\\d+)");
std::string inString("$C$5:$F$89");
std::vector<std::string> vecCol;
std::vector<std::string> vecRow;
for(std::sregex_iterator i = std::sregex_iterator(inString.begin(), inString.end(), regx);
i != std::sregex_iterator();
++i)
{
std::smatch match = *i;
std::cout << "Whole match: " << match.str() << ", Group 1: " << match.str(1) << ", and Group 2: " << match.str(2) << '\n';
//add them to the vecs
vecCol.push_back(match.str(1));
vecRow.push_back(match.str(2));
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIHN0ZDo6cmVnZXggcmVneCgiXFwkKFxcdyspXFwkKFxcZCspIik7IAogICAgc3RkOjpzdHJpbmcgaW5TdHJpbmcoIiRDJDU6JEYkODkiKTsKICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiB2ZWNDb2w7CiAgICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gdmVjUm93OwoKICAgIGZvcihzdGQ6OnNyZWdleF9pdGVyYXRvciBpID0gc3RkOjpzcmVnZXhfaXRlcmF0b3IoaW5TdHJpbmcuYmVnaW4oKSwgaW5TdHJpbmcuZW5kKCksIHJlZ3gpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgIT0gc3RkOjpzcmVnZXhfaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICArK2kpCiAgICB7CgkgICAgc3RkOjpzbWF0Y2ggbWF0Y2ggPSAqaTsKCSAgICBzdGQ6OmNvdXQgPDwgIldob2xlIG1hdGNoOiAiIDw8IG1hdGNoLnN0cigpIDw8ICIsIEdyb3VwIDE6ICIgPDwgbWF0Y2guc3RyKDEpIDw8ICIsIGFuZCBHcm91cCAyOiAiIDw8IG1hdGNoLnN0cigyKSA8PCAnXG4nOwoJICAgIC8vYWRkIHRoZW0gdG8gdGhlIHZlY3MKICAgICAgICB2ZWNDb2wucHVzaF9iYWNrKG1hdGNoLnN0cigxKSk7CiAgICAgICAgdmVjUm93LnB1c2hfYmFjayhtYXRjaC5zdHIoMikpOwogICAgfQogICAgICAgIAoJcmV0dXJuIDA7Cn0=