2016-07-08 8 views
-1

Ich habe folgendes RegexMuster: (?:http.?:\/\/)regex alles außer Protokoll von URL übereinstimmen

Dadurch wird die Protokollkomponente von einer Web-URL entspricht, möchte ich eine Regex die opposit zu tun, alles außer dem Protokoll zu entsprechen, Bis jetzt hat mein jeder Versuch überhaupt nicht funktioniert.

Becuase ultimatly, was ich tun möchte, ist zu überprüfen, ob zwei URLs die gleiche reguardless des Protokolls sind, so kann ich tun:

if url_1[regex] == url_2[regex] 

Antwort

2

Dies sollte es tun:

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

Gibt es eine Möglichkeit, dies ohne eine Capture-Gruppe zu tun? '(?!. * \/\ /). *' funktioniert fast, aber es passt immer noch zum letzten '/', ok, tut dies: '(?!. * \/\ /) \ w. *' funktioniert, Problem gelöst. – Thermatix

0

Sie verwenden können diese Regex immer erfaßt den Teil nach dem eventuellen http:// oder https:// am Start:

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

RegEx Demo

+0

Was ist, wenn es 'ftp: //', 'rtsp: //', ... – ClasG

+0

ok in diesem Fall aktualisierte Regex sollte funktionieren – anubhava

0

verwenden und nehmen Sie die zweite Gruppe $ 2

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