#include <regex>
#include <string>
#include <iostream>
using namespace std;
int main()
{
string data("xx");
std::regex pattern("((?=x))*");
std::smatch result;
if (regex_search(data, result, pattern)) {
std::cout << "\"" << result[0].str() << "\"" << std::endl;
}
else
{
std::cout << "regex_search failed!" << std::endl;
}
if (regex_match(data, result, pattern)) {
std::cout << result[0].str() << std::endl;
}
else
{
std::cout << "regex_match failed!" << std::endl;
}
}
I2luY2x1ZGUgPHJlZ2V4PgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgICAgICBzdHJpbmcgZGF0YSgieHgiKTsKICAgICAgICBzdGQ6OnJlZ2V4IHBhdHRlcm4oIigoPz14KSkqIik7CiAgICAgICAgc3RkOjpzbWF0Y2ggcmVzdWx0OwoKICAgICAgICBpZiAocmVnZXhfc2VhcmNoKGRhdGEsIHJlc3VsdCwgcGF0dGVybikpIHsKICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgIlwiIiA8PCByZXN1bHRbMF0uc3RyKCkgPDwgIlwiIiA8PCBzdGQ6OmVuZGw7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgICAgc3RkOjpjb3V0IDw8ICJyZWdleF9zZWFyY2ggZmFpbGVkISIgPDwgc3RkOjplbmRsOwkKICAgICAgICB9CiAgICAgICAgaWYgKHJlZ2V4X21hdGNoKGRhdGEsIHJlc3VsdCwgcGF0dGVybikpIHsKICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgcmVzdWx0WzBdLnN0cigpIDw8IHN0ZDo6ZW5kbDsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgInJlZ2V4X21hdGNoIGZhaWxlZCEiIDw8IHN0ZDo6ZW5kbDsJCiAgICAgICAgfQogICAgICAgIAp9