Regex для домена URL

Как делают я соответствую от этих URL:

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

foo.bar из первой ссылки и bar из второй ссылки с помощью одного единственного regex?

1
задан systempuntoout 27 May 2010 в 18:26
поделиться

3 ответа

Попробуйте следующее:

^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
ответ дан 3 September 2019 в 00:16
поделиться

Вы не упомянули свой язык. В Ruby,

>> s = 'http://foo.bar.com'
>> s =~ /\/\/(.*)\./
>> $1
=> "foo.bar"
1
ответ дан 3 September 2019 в 00:16
поделиться

В Javascript вам нужно будет использовать тот же regex, который привел Марк Байерс, ничего менять не нужно:

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

var out = p.exec(string_var_here);
if(out != null) {
  var str = out[1];
}
0
ответ дан 3 September 2019 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: