Wyodrbnianie schematu z adresu URL, o ktrym wiadomo, e jest prawidowy
^([a-z][a-z0-9+\-.]*):
Opcje wyraenia regularnego: Ignorowanie wielkoci liter
Odmiany wyrae regularnych: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby


Wyodrbnianie schematu przy okazji weryfikacji adresu URL
\A
([a-z][a-z0-9+\-.]*):
(# Serwer i cieka
//
  ([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
 |# cieka bez serwera
  (/?[a-z0-9\-._~%!$&'()*+,;=:@]+(/[a-z0-9\-._~%!$&'()*+,;=:@]+)*/?)?
)
# Zapytanie
(\?[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?
# Fragment
(\#[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?
\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\-._~%!$&'()*+,;=:@]+)*/?)?)(\?[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?(#[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?$
Opcje wyraenia regularnego: Ignorowanie wielkoci liter
Odmiany wyrae regularnych: .NET, Java, JavaScript, PCRE, Perl, Python
