Как делают я соответствую от этих URL:
http://foo.bar.com
http://bar.com
foo.bar
из первой ссылки и bar
из второй ссылки с помощью одного единственного regex?
Попробуйте следующее:
^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
Вы не упомянули свой язык. В Ruby,
>> s = 'http://foo.bar.com'
>> s =~ /\/\/(.*)\./
>> $1
=> "foo.bar"
В Javascript вам нужно будет использовать тот же regex, который привел Марк Байерс, ничего менять не нужно:
var p = new RegExp("^http://(.*)\.com");
var out = p.exec(string_var_here);
if(out != null) {
var str = out[1];
}