2016-03-24 10 views
-1

Ich kenne solche Informationen über Regex nicht. Ich möchte alle Links auswählen, für die ich Beispiele gebe.REGEX: Wie finde ich bestimmte Links über Regex

http://domain.com/file/3843732a6e531/filename.rar 
http://domain.com/file/24af962a61126/filename.zip 
http://domain.com/file/3843732a6e531/filename-part1.rar 

Deshalb möchte ich alle Links wählen, die mit http://domain.com beginnen und enden mit .rar oder .zip

+0

Dies sollte einfach sein. Hast du schon etwas probiert? –

+0

Nein, wie gesagt, ich bin nicht professionell auf Regex. Und Entschuldigung für mein schlechtes Englisch. Warte auf Antworten. Danke – Yearmaz

Antwort

2

ist die regex und einige Erklärungen:

^http:\/\/domain\.com(.*)\.(?:zip|rar)$ 

^ ist zu sagen, dass es braucht um anzufangen ...

http: ist normalerweise passender http: (und es ist Groß- und Kleinschreibung)

Wir haben die 2 // der Verbindung übereinstimmen soll jetzt, aber / ist ein Trennzeichen in Regex, so dass Sie es entkommen müssen durch eine \ vor dem Zeichen setzen Sie entfliehen wollen

Deshalb haben wir \/\/

haben wir wollen die . des Domain-Namens übereinstimmen. Aber wie /, . bedeutet bereits ein beliebiges Zeichen in Regex, so müssen wir es auch zu entkommen. Deshalb haben wir \.

Sie wollten es überprüfen, dass der Link mit. Zip oder .rar endete. Das ist mit

(?:zip|rar) 
+0

Danke für diese wundervollen Informationen. Ich habe es versucht, aber es wählt nicht aus. Irgendeine Idee? : https://regex101.com/r/qY0yZ0/1 – Yearmaz

+0

Es ist, weil Sie '^' und '$' behalten, während Sie Text versuchen, wo, was Sie auswählen möchten, in der Mitte des Textes ist. Entfernen Sie sie und es sollte funktionieren! –

+1

Oder machen Sie die Suche mehrzeilig und global - [hier klicken]. (Https://regex101.com/r/jJ8mF0/1) – ClasG

2

Versuchen Sie, die folgende Regex getan worden:

(http:\/\/domain\.com\/.*?(?:rar|zip)) 

Hier ist die Beschreibung auf Regex101.

+1

Danke für deine Antworten. Ich habe es dank deiner Antworten herausgefunden :) – Yearmaz