2010-05-27 101 views
1

如何从这些URL匹配:正则表达式的网址域名

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

从第一环节foo.barbar使用一个单一的正则表达式的第二个链接?

+1

什么语言是您使用? – 2010-05-27 18:28:32

+0

@Mark javascript – systempuntoout 2010-05-27 18:31:48

回答

1

试试这个:

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

以下是如何从Python中使用它:

import re 

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

输出:

 
foo.bar 
bar 
1

你没有提到你的语言。在Ruby中,

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

在Javascript中,您将需要使用相同的正则表达式由Mark Byers公司给出,没有必要改变什么:

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

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