2009-08-21 19 views
0

Ich brauche einen regulären Ausdruck, der spezielle Links identifizieren.Regulärer Ausdruck Muster (URL)

Ich habe ein Array mit Links, zum Beispiel dieses

array[1] = "http://domain.com/dfdf" 
array[2] = "http://domain.com/dfgf" 
array[3] = "http://domain2.com/derf" 

ich einen regulären Ausdruck verwenden möchten, die (zum Beispiel domain2) unter einer bestimmten Domain-Links von diesem Array extrahieren

I‘ ll ein Array

array[1] = "http://domain2.com/derf" 

nur für das Muster ich suche bekommen (ich benutze PHP)

+0

nein, ich habe die Links gespeichert und sie regelmäßig sind, ich meine sie das gleiche Format haben „http://domain.com“ –

+0

Was Sie mögen Domain2 oder Domain2.com als Eingabe verwenden? sollte www.domain2.com auch mit dem Muster übereinstimmen, was ist mit https: //ssl.domain2.com/etwas? Was ist mit domain2.net? Was ist mit Links ohne http vor ihnen? – Residuum

+0

Reguläre Ausdrücke scheinen für diese Aufgabe etwas ungeeignet zu sein. Warum nicht einfach die String-Funktionen verwenden? –

Antwort

2

Dieser reguläre Ausdruck sollte es tun:

^http://domain2\.com/ 

Und mit / als Trennzeichen in PCRE umgewandelt:

/^http:\/\/domain2\.com\// 

Aber Sie ein anderes Zeichen verwenden können, wenn Sie wollen :

~^http://domain2\.com/~ 
0

Wie wäre:

(?<!")http://domain2.com[^"]+ 
0

Dies wird https sowie http-Links entsprechen:

#^https?://domain2\.com/#