python3正则表达式练习题1-12 匹配所有能够表示有效的网站地址的集合(URL)。

先写宽松的正则表达式

URL的一般由以下四个部分组成:

<协议>://<主机>:<端口>/<路径>

1.<协议>就是指出使用什么协议来获取该万维网文档。现在最常用的协议就是http(超文本传送协议HTTP),其次是ftp(文件传送协议FTP)。所以这里就用这两个

2.<主机>指出这个万维网文档是在那一台主机上。所以就是指该主机在互联网上的域名。

3.<端口><路径>,一般省略所以暂时也不写。45

4.URL的<协议>和<主机>部分,字母不分大小写。但<路径>有时要分大小写。

那么我们开始写正则表达式了。

patt = "((http|ftp|HTTP|FTP)://)?www\..+(/.+)*"

由于对url的了解还不够彻底,所以大部分正则表达式还是比较宽松,实际用的时候还是要根据具体的情况进行修改

>>> patt = "((http|ftp|HTTP|FTP)://)?www\..+(/.+)*"
>>> m = re.match(patt,'www.tsinghua.edu.cn')
>>> if m is not None:m.group()

'www.tsinghua.edu.cn'
>>> m = re.match(patt,'www.tsinghua.edu.cn/publish/newthu/newthu_cont/faculties/index.html')
>>> if m is not None:m.group()

'www.tsinghua.edu.cn/publish/newthu/newthu_cont/faculties/index.html'

实验通过

©️2020 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页