#include <iostream>
#include <cstring>
#include <regex>
using namespace std;
int main () {
std::string str1 = "a/b/c[2]/d";
std::string str2 = R"regex((.*)a/b/c[2]/d(.*))regex";
// std::string str2 = "(.*)a/b/c[2]/d(.*)";
std::regex e(str2);
std::cout << "str1 = " << str1 << std::endl;
std::cout << "str2 = " << str2 << std::endl;
if (regex_match(str1, e)) {
std::cout << "matched" << std::endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPHJlZ2V4PgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluICgpIHsKICAgIHN0ZDo6c3RyaW5nIHN0cjEgPSAiYS9iL2NbMl0vZCI7CiAgICBzdGQ6OnN0cmluZyBzdHIyID0gUiJyZWdleCgoLiopYS9iL2NbMl0vZCguKikpcmVnZXgiOwogICAgLy8gc3RkOjpzdHJpbmcgc3RyMiA9ICIoLiopYS9iL2NbMl0vZCguKikiOwogICAgc3RkOjpyZWdleCBlKHN0cjIpOwoKICAgIHN0ZDo6Y291dCA8PCAic3RyMSA9ICIgPDwgc3RyMSA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgInN0cjIgPSAiIDw8IHN0cjIgPDwgc3RkOjplbmRsOwogICAgaWYgKHJlZ2V4X21hdGNoKHN0cjEsIGUpKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJtYXRjaGVkIiA8PCBzdGQ6OmVuZGw7CiAgICB9Cn0K