2010-05-27 4 views
1

Comment puis-je correspondre à ces urls:pour Regex url domaine

http://foo.bar.com 
http://bar.com 

foo.bar de la première liaison et bar à partir du deuxième lien en utilisant une seule regex?

+1

Quelle langue utilisez-vous? –

+0

@Mark javascript – systempuntoout

Répondre

1

Essayez ceci:

^http://(.*)\.com$ 

Voici comment l'utiliser de Python:

import re 

for url in ['http://foo.bar.com', 'http://bar.com']: 
    print re.match('^http://(.*)\.com$', url).group(1) 

Sortie:

 
foo.bar 
bar 
1

Vous ne mentionnaient pas votre langue. Dans Ruby,

>> s = 'http://foo.bar.com' 
>> s =~ /\/\/(.*)\./ 
>> $1 
=> "foo.bar" 
0

En Javascript, vous aurez besoin d'utiliser la même expression rationnelle donnée par Mark Byers, pas besoin de changer quoi que ce soit:

var p = new RegExp("^http://(.*)\.com"); 

var out = p.exec(string_var_here); 
if(out != null) { 
    var str = out[1]; 
}