使用findall正则表达式python 3查找字符串

时间:2018-10-01 09:02:41

标签: regex python-3.x findall

下面是网址列表。但是,我只想打印每个地址的主机名。

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...。

0 个答案:

没有答案