Код
\.[^/]+(.*)
Попробуйте онлайн!
Этот RegEx фиксирует относительный путь адреса. Это означает, что вам нужно получить захват совпадения в используемой программе, а не сопоставленные символы.
Объяснение
\. Gets the first dot of the address
[^/]+ Matches all characters that aren't forward slashes
(.*) Captures the rest of the address
Дополнительные пояснения
Причина, по которой я не могу сопоставить (а не перехватить ) адрес, заключается в том, что у меня нет выражений, которые бы точно представляли начало относительного пути (без совпадения с другими символами).
Это потому, что некоторые адреса имеют протокольную часть (например, http://
), а другие - нет. Две дополнительные косые черты означают, что RegEx станет намного длиннее, чтобы убедиться, что мы попали в правильную косую черту.
Я использовал первую точку, поскольку все адреса (насколько я знаю) имеют точку в домене (www.something.com
или 64.123.456.789
). Поскольку домен всегда находится непосредственно перед относительным путем, мы можем просто перейти к следующему прямому слешу и всегда прийти к относительному пути.
Затем мы просто фиксируем оставшуюся часть адреса (включая первую косую черту), которую потом легко получить.