#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main ()
{
string string_array[] = {"http://w...content-available-to-author-only...s.com/reference/regex/regex_match/",
"tcp://192.168.2.1:1234/hello/how/are/you",
"https://mail.google.com/mail/u/0/?tab=wm#inbox/15178022db56df29?projector=1"};
regex e("^(?:([A-Za-z]+):)?(\\/{0,3})([0-9.A-Za-z-]+)(?::(\\d+))?(?:\\/([^?#]*))?(?:\\?([^#]*))?(?:#(.*))?$");
for(int i=0; i<3; i++)
{
smatch sm;
regex_match (string_array[i],sm,e);
for (unsigned i=1; i<sm.size(); ++i)
{
cout << "[" << sm[i] << "] ";
}
cout << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8cmVnZXg+CgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgppbnQgbWFpbiAoKQp7CiAgICBzdHJpbmcgc3RyaW5nX2FycmF5W10gPSB7Imh0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5zLmNvbS9yZWZlcmVuY2UvcmVnZXgvcmVnZXhfbWF0Y2gvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGNwOi8vMTkyLjE2OC4yLjE6MTIzNC9oZWxsby9ob3cvYXJlL3lvdSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vbWFpbC5nb29nbGUuY29tL21haWwvdS8wLz90YWI9d20jaW5ib3gvMTUxNzgwMjJkYjU2ZGYyOT9wcm9qZWN0b3I9MSJ9OwogICAgcmVnZXggZSgiXig/OihbQS1aYS16XSspOik/KFxcL3swLDN9KShbMC05LkEtWmEtei1dKykoPzo6KFxcZCspKT8oPzpcXC8oW14/I10qKSk/KD86XFw/KFteI10qKSk/KD86IyguKikpPyQiKTsKCiAgICBmb3IoaW50IGk9MDsgaTwzOyBpKyspCiAgICB7CiAgICAgICAgc21hdGNoIHNtOwogICAgICAgIHJlZ2V4X21hdGNoIChzdHJpbmdfYXJyYXlbaV0sc20sZSk7CgogICAgICAgIGZvciAodW5zaWduZWQgaT0xOyBpPHNtLnNpemUoKTsgKytpKQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCAiWyIgPDwgc21baV0gPDwgIl0gIjsKICAgICAgICB9CgogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9