7.12. Wyodrębnianie ścieżki z adresu URL
Problem
Chcemy wyodrębnić ścieżkę z łańcucha zawierającego adres URL. Na przykład z łańcuchów http://www.regexcookbook.com/index.html lub /index.html#fragment nasze wyrażenie powinno wyodrębnić fragment /index.html.
Rozwiązanie
Wyodrębnia ścieżkę z łańcucha, o którym wiadomo, że zawiera prawidłowy adres URL. Poniższe wyrażenie pasuje do wszystkich adresów URL, także tych, które nie definiują ścieżki:
\A # Pomija ewentualne części schematu i serwera: ([a-z][a-z0-9+\-.]*:(//[^/?#]+)?)? # Ścieżka: ([a-z0-9\-._~%!$&'()*+,;=:@/]*)
Opcje wyrażenia regularnego: Swobodne stosowanie znaków białych, ignorowanie wielkości liter
Odmiany wyrażeń regularnych: .NET, Java, PCRE, Perl, Python, Ruby
^([a-z][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.