#include <iostream>
#include <regex>
#include <string>
using namespace std;
int main() {
string str = "Richard ///[][][12345/678910111213141516] was murdered by Ralph Jordan[/[54321/161514131211109876]";
regex rgx1(R"(([A-Z]\w*\s*\S*)\[(\d+)?(?:\/(\d+))?\])");
smatch smtch;
while (regex_search(str, smtch, rgx1)) {
std::cout << "Name: " << smtch[1] << std::endl;
std::cout << "ID1: " << smtch[2] << std::endl;
std::cout << "ID2: " << smtch[3] << std::endl;
str = smtch.suffix().str();
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CiNpbmNsdWRlIDxzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXN0cmluZyBzdHIgPSAiUmljaGFyZCAvLy9bXVtdWzEyMzQ1LzY3ODkxMDExMTIxMzE0MTUxNl0gd2FzIG11cmRlcmVkIGJ5IFJhbHBoIEpvcmRhblsvWzU0MzIxLzE2MTUxNDEzMTIxMTEwOTg3Nl0iOwoJcmVnZXggcmd4MShSIigoW0EtWl1cdypccypcUyopXFsoXGQrKT8oPzpcLyhcZCspKT9cXSkiKTsKCXNtYXRjaCBzbXRjaDsKCXdoaWxlIChyZWdleF9zZWFyY2goc3RyLCBzbXRjaCwgcmd4MSkpIHsKCQkJc3RkOjpjb3V0IDw8ICJOYW1lOiAiIDw8IHNtdGNoWzFdIDw8IHN0ZDo6ZW5kbDsKCQkJc3RkOjpjb3V0IDw8ICJJRDE6ICIgPDwgc210Y2hbMl0gPDwgc3RkOjplbmRsOwoJCQlzdGQ6OmNvdXQgPDwgIklEMjogIiA8PCBzbXRjaFszXSA8PCBzdGQ6OmVuZGw7CgkJCXN0ciA9IHNtdGNoLnN1ZmZpeCgpLnN0cigpOwoJCX0KCXJldHVybiAwOwp9