Instead of regex or hand-written solutions, you can use python's urlparse
from urllib.parse import urlparse
print (urlparse('http://abc.hostname.com/somethings/anything/'))
>> ParseResult(scheme='http', netloc='abc.hostname.com', path='/somethings/anything/', params='', query='', fragment='')
print (urlparse('http://abc.hostname.com/somethings/anything/').netloc)
>> abc.hostname.com
To get without the subdomain
t = urlparse('http://abc.hostname.com/somethings/anything/').netloc
print ('.'.join(t.split('.')[1:]))
>> hostname.com