2016-07-08 2 views
-1

У меня есть следующее регулярное выражение: (?:http.?:\/\/)регулярного выражения, чтобы соответствовать все, кроме протокола от URL

Это соответствует компоненте протокола от веба-адреса, я хочу, регулярное выражение, чтобы сделать opposit, чтобы соответствовать все, кроме протокола, до сих пор моя каждая попытка не работала вообще.

Becuase ultimatly, что я хочу сделать, это проверить, если два адреса одинаковы reguardless протокола, так что я могу сделать:

if url_1[regex] == url_2[regex] 

ответ

2

Это следует сделать это:

/.*?\/\/(.*)/ 
+0

Есть ли способ сделать это без захвата группы? '(?!. * \/\ /). *' почти работает, но по-прежнему соответствует последнему '/', ok, делая это: '(?!. * \/\ /) \ w. *' работает, проблема. – Thermatix

0

Вы можете использовать это регулярное выражение, чтобы всегда захватить часть после дополнительного http:// или https:// в начале:

/^(?:[^:]+:\/\/)?(.+)$/ 

RegEx Demo

+0

Что, если это 'ftp: //', 'rtsp: //', ... – ClasG

+0

ok, в этом случае обновленное регулярное выражение должно работать – anubhava

0

Используйте это и возьмите вторую группу $ 2

/^(?:[^:]*:\/\/)?(.*?)$/