#include <regex>
#include <iostream>
int main()
{
std::string uri = "http://e...content-available-to-author-only...e.com/test.html";
std::regex reg("^(.+):\\/\\/(.+@)?([a-zA-Z\\.0-9\\-]+)(:\\d{1,5})?([^?\\n\\#]*)(\\?[^#\\n]*)?(\\#.*)?$");
std::smatch match;
std::regex_match(uri, match, reg);
for(auto& e: match)
{
std::cout<<e.str() <<std::endl;
}
}
I2luY2x1ZGUgPHJlZ2V4PgojaW5jbHVkZSA8aW9zdHJlYW0+CgppbnQgbWFpbigpCnsKICAgICAgICBzdGQ6OnN0cmluZyB1cmkgPSAiaHR0cDovL2UuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUuY29tL3Rlc3QuaHRtbCI7CiAgICAgICAgc3RkOjpyZWdleCByZWcoIl4oLispOlxcL1xcLyguK0ApPyhbYS16QS1aXFwuMC05XFwtXSspKDpcXGR7MSw1fSk/KFteP1xcblxcI10qKShcXD9bXiNcXG5dKik/KFxcIy4qKT8kIik7CiAgICAgICAgc3RkOjpzbWF0Y2ggbWF0Y2g7CiAgICAgICAgc3RkOjpyZWdleF9tYXRjaCh1cmksIG1hdGNoLCByZWcpOwogICAgICAgIGZvcihhdXRvJiBlOiBtYXRjaCkKICAgICAgICB7CiAgICAgICAgICAgICAgICBzdGQ6OmNvdXQ8PGUuc3RyKCkgPDxzdGQ6OmVuZGw7CiAgICAgICAgfQp9Cg==