2017-01-09 3 views
-1

Ich versage beim Erstellen eines Regex-Musters, das mir nur den Domainnamen einer URL geben wird.Regex-Muster nur, um eine Zeichenfolge vor dem ersten Auftreten eines Schrägstrichs zu finden

Test-String ist:

http : //host.com/first/second

jetzt, aus der obigen Zeichenfolge, ich will nur meine regex zu finden:

http : //host.com

Das ist, bis die Regex den ersten einzelnen Schrägstrich in der Zeichenfolge findet.

Vielen Dank im Voraus.

+0

Wie wäre es Lesen [negierte Klasse] (http://www.regular-expressions.info/charclass.html#negated). Es wird Ihnen die Fähigkeit geben, '/ '(http://www.regex101.com/r/3YLUDz/1) auszuschließen. –

+0

Was ist mit: URI uri = URI.create (" http://host.com/first /zweite"); System.out.println (uri.getScheme() + ": //" + uri.getHost()); ? – Gustave

+0

Nein @Gustave, ich dachte auch darüber nach. aber meine Anforderung war ein bisschen anders. – ani90

Antwort

1

Sie durch singuläre stashes aufteilen ((?<!\/)\/(?!\/) - ein Schrägstrich nicht vorgegangen und nicht von einem Schrägstrich) und verwenden Sie den ersten Teil:

String input = "http://host.com/first/second"; 
String[] parts = input.split("(?<!\\/)\\/(?!\\/)"); 
System.out.print(parts[0]); 

Demo: https://ideone.com/7Okn6C

Verwandte Themen