This regular expression parses URLs and captures their subcomponents.
${1}
==> Scheme/Protocol${2}
==> Subdomain${3}
==> Domain name${4}
==> Subdirectory${5}
==> Path${6}
==> Query${7}
==> FragmentIt ignores port numbers. Port numbers are necessary. But, they are rarely visible in URLs. When used in a URL, it comes after the TLD separated by a colon. When using HTTP, port 80 is standard. For HTTPS, use port 443.