#include <iostream>
#include <regex>
#include <string>
using namespace std;
int main() {
regex rx(R"((\w+) ([[:digit:]]+), ([[:digit:]]+)(\([[:digit:]]+\)))");
string s("Text lw 2, 3(9) here");
smatch m;
if (regex_search(s, m, rx)) {
std::cout << m.str() << std::endl;
std::cout << m.str(1) << std::endl;
std::cout << m.str(2) << std::endl;
std::cout << m.str(3) << std::endl;
std::cout << m.str(4) << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CiNpbmNsdWRlIDxzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXJlZ2V4IHJ4KFIiKChcdyspIChbWzpkaWdpdDpdXSspLCAoW1s6ZGlnaXQ6XV0rKShcKFtbOmRpZ2l0Ol1dK1wpKSkiKTsKCXN0cmluZyBzKCJUZXh0IGx3IDIsIDMoOSkgaGVyZSIpOwoJc21hdGNoIG07CglpZiAocmVnZXhfc2VhcmNoKHMsIG0sIHJ4KSkgewoJCXN0ZDo6Y291dCA8PCBtLnN0cigpIDw8IHN0ZDo6ZW5kbDsKCQlzdGQ6OmNvdXQgPDwgbS5zdHIoMSkgPDwgc3RkOjplbmRsOwoJCXN0ZDo6Y291dCA8PCBtLnN0cigyKSA8PCBzdGQ6OmVuZGw7CgkJc3RkOjpjb3V0IDw8IG0uc3RyKDMpIDw8IHN0ZDo6ZW5kbDsKCQlzdGQ6OmNvdXQgPDwgbS5zdHIoNCkgPDwgc3RkOjplbmRsOwoJfQoJcmV0dXJuIDA7Cn0=