【发布时间】:2022-01-08 06:12:36
【问题描述】:
我有以下 URL 列表:
urls = ["http://arxiv.org/pdf/1611.08097", "https://doi.org/10.1109/tkde.2016.2598561", "https://www.scopus.com/inward/record.uri?partnerID=HzOxMe3b&scp=85116544648&origin=inward"]
从列表的每个元素中,我尝试仅提取域名,例如:arxiv、doi、scopus。
为此我有一个代码:
import re
for url in urls:
print(re.search('https?://([A-Za-z_0-9.-]+).*', url).group(1))
打印的输出:
arxiv.org
doi.org
www.scopus.com
如何修改上述正则表达式以仅提取域而不提取 www.、.com、.org 等其他内容?
提前致谢。
【问题讨论】:
-
如果你有类似
www.sub.domain.co.uk的东西怎么办? -
@mozway 绝不会如此
-
所以总是
A.B.C或B.C而你想要B? -
@mozway 是的,完全正确
标签: python python-3.x regex