#include <stdio.h>
#include <string>
#include <regex>
int main (void)
{
std::string in="{ab}{cd}[ef]{gh}[ij][kl]"; // the input-string
std::regex rx1 ("(\\{.+?})(.*)"); // non-greedy?
std::smatch match;
if (regex_match (in, match, rx1))
{
printf ("\n%s\n", match.str(1).c_str());
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxyZWdleD4KCmludCBtYWluICh2b2lkKQp7CiAgc3RkOjpzdHJpbmcgaW49InthYn17Y2R9W2VmXXtnaH1baWpdW2tsXSI7ICAvLyB0aGUgaW5wdXQtc3RyaW5nCgogIHN0ZDo6cmVnZXggcngxICgiKFxcey4rP30pKC4qKSIpOyAgICAgICAvLyBub24tZ3JlZWR5PwogIHN0ZDo6c21hdGNoIG1hdGNoOwoKICBpZiAocmVnZXhfbWF0Y2ggKGluLCBtYXRjaCwgcngxKSkKICB7CiAgICBwcmludGYgKCJcbiVzXG4iLCBtYXRjaC5zdHIoMSkuY19zdHIoKSk7CiAgfQoKICByZXR1cm4gMDsKfQ==