下面是网址列表。但是,我只想打印每个地址的主机名。
http://www.askoxford.com
http://www.hydrogencarsnow.com
http://www.bnsf.com
http://web.archive.org
预期结果:
askoxford.com
hydrogencarsnow.com
bnsf.com
web.archive.org
我的代码:
import re
import codecs
raw = codecs.open("D:\Python\gg.txt",'r',encoding='utf-8')
string = raw.read()
link = re.findall(r'www\.(\w+\.com|\w+\.org)',string)
print(link)
当前输出:
['askoxford.com', 'askoxford.com', 'hydrogencarsnow.com', 'bnsf.com']
截至当前输出,它不包含hostname.org。我不确定字符串前面reg的make OR条件的方式。
我的尝试:
link = re.findall(r'(http://www\.|http://)(\w+\.com|\w+\.org)',string)
,但是它不起作用,因为它将使用主机名收集http...。