7.8. Wyodrębnianie schematu z adresu URL

Problem

Chcemy wyodrębnić schemat adresu URL z łańcucha zawierającego cały adres. Oznacza to, że chcemy na przykład uzyskać podłańcuch http z łańcucha http://www.regexcookbook.com.

Rozwiązanie

Wyodrębnianie schematu z adresu URL, o którym wiadomo, że jest prawidłowy

  • ^([a-z][a-z0-9+\-.]*):

    • Opcje wyrażenia regularnego: Ignorowanie wielkości liter

    • Odmiany wyrażeń regularnych: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby

Wyodrębnianie schematu przy okazji weryfikacji adresu URL

  • \A
    ([a-z][a-z0-9+\-.]*):
    (# Serwer i ścieżka
    //
      ([a-z0-9\-._~%!$&'()*+,;=]+@)?               # Użytkownik
      ([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\-._~%!$&'()*+,;=:@]+)*/? ...

Get Wyrażenia regularne. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.