从URL中提取域名的正则表达式

我们可以这么理解域名的表达方式:由多个[a-zA-Z0-9-]\.这样的表达式组合,以[a-zA-Z]结尾。比如:

www.baidu.com

拆分:www.,baidu.,com

英文域名允许出现的字符有英文大小写,数字,下划线。有些网站不是在80端口上的,比如:

www.baidu.com:8080

综合上面,得出的正则表达式:

re.search(r'http(s)?://(([\w-]+\.)+\w+(:\d{1,5})?)',url)

然后group(2)即是提取出来的域名了。