Wyodrbnianie numeru portu z adresu URL, o ktrym wiadomo, e jest prawidowy
\A
[a-z][a-z0-9+\-.]*://               # Schemat
([a-z0-9\-._~%!$&'()*+,;=]+@)?      # Uytkownik
([a-z0-9\-._~%]+                    # Host nazwany lub host IPv4
|\[[a-z0-9\-._~%!$&'()*+,;=:]+\])   # Host IPv6+
:(?<port>[0-9]+)                    # Numer portu
Opcje wyraenia regularnego: Swobodne stosowanie znakw biaych, ignorowanie wielkoci liter
Odmiany wyrae regularnych: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby


^[a-z][a-z0-9+\-.]*://([a-z0-9\-._~%!$&'()*+,;=]+@)?([a-z0-9\-._~%]+|\[[a-z0-9\-._~%!$&'()*+,;=:]+\]):([0-9]+)
Opcje wyraenia regularnego: Ignorowanie wielkoci liter
Odmiany wyrae regularnych: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby


Wyodrbnianie numeru portu przy okazji weryfikacji adresu URL
\A
[a-z][a-z0-9+\-.]*://                        # Schemat
([a-z0-9\-._~%!$&'()*+,;=]+@)?               # Uytkownik
([a-z0-9\-._~%]+                             # Nazwany host
|\[[a-f0-9:.]+\]                             # Host IPv6
|\[v[a-f0-9][a-z0-9\-._~%!$&'()*+,;=:]+\])   # Host IPvFuture
:([0-9]+)                                    # Port
(/[a-z0-9\-._~%!$&'()*+,;=:@]+)*/?           # cieka
(\?[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?          # Zapytanie
(\#[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?          # Fragment
\Z
Opcje wyraenia regularnego: Ignorowanie wielkoci liter
Odmiany wyrae regularnych: .NET, Java, PCRE, Perl, Python, Ruby


^[a-z][a-z0-9+\-.]*:\/\/([a-z0-9\-._~%!$&'()*+,;=]+@)?([a-z0-9\-._~%]+|\[[a-f0-9:.]+\]|\[v[a-f0-9][a-z0-9\-._~%!$&'()*+,;=:]+\]):([0-9]+)(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)*\/?(\?[a-z0-9\-._~%!$&'()*+,;=:@\/?]*)?(#[a-z0-9\-._~%!$&'()*+,;=:@\/?]*)?$
Opcje wyraenia regularnego: Ignorowanie wielkoci liter
Odmiany wyrae regularnych: .NET, Java, JavaScript, PCRE, Perl, Python
