域名正则表达式是让很多人头大的问题,不是匹配不完整就是匹配错,我当初也是深受折磨。我曾经写了一个老域名爬虫软件,需要大量匹配顶级域名,所以就有了这个帖子,本规则属于比较初级的,大神勿喷。。。
s = '''227)">814.net.cn</a></address></li>
="https://g.csdnimg.cn/static/logo/favicon32.ico" rel="SHORTCUT
="https://www.anyachina.cn/" rel="SHORTCUT
="https://www.baidu.com/" rel="SHORTCUT
'''
a = re.findall('[^/"><\.]{3,10}\.com|[^/"><\.]{4,}\.cn|[^/"><\.]{3,10}\.net\.cn', s)
print(a)
-------------
打印结果:
['814.net.cn', 'csdnimg.cn', 'anyachina.cn', 'baidu.com']
需要更多后缀可以自己添加(例如:|[^/"><\.]{4,}\.org\.cn)我这里只是各种形态的域名,
之所以这样写是因为可以调控的地方比较多,比如需要多长的域名和增加^某些特定的字符
这个是本人自己用的正则表达式,并不算高明,但是适合我自己用,希望能帮到那些新手朋友。