7.11. Wyodrębnianie numeru portu z adresu URL

Problem

Chcemy wyodrębnić numer portu z łańcucha zawierającego adres URL. Na przykład dla adresu URL w postaci http://www.regexcookbook.com:80/ chcielibyśmy uzyskać numer 80.

Rozwiązanie

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

  • \A
    [a-z][a-z0-9+\-.]*://               # Schemat
    ([a-z0-9\-._~%!$&'()*+,;=]+@)?      # Użytkownik
    ([a-z0-9\-._~%]+                    # Host nazwany lub host IPv4
    |\[[a-z0-9\-._~%!$&'()*+,;=:]+\])   # Host IPv6+
    :(?<port>[0-9]+)                    # Numer portu
    • Opcje wyrażenia regularnego: Swobodne stosowanie znaków białych, ignorowanie wielkości liter

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

  • ^[a-z][a-z0-9+\-.]*://([a-z0-9\-._~%!$&'()*+,;=]+@)?([a-z0-9\-._~%]+|\[[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.