# 问题 8:从 URL 中解析和提取数据

在网络上处理文件和资源时,我们经常会遇到可以直接解析和使用的 URIs 和 URLs。大多数标准库都提供了用来解析和构造这类标识符的类,但是如果您需要在日志文件或更大的文本语料库中匹配它们,那么使用正则表达式可以很容易地从它们的结构化形式中提取信息。

URIs (统一资源标识符,Uniform Resource Identifiers),是资源的一种表示方法,通常包括 scheme (方案名 (opens new window)),host (主机名),port (端口,可选的) 和 resource path (资源路径),如下所示:

http://regexone.com:80/page

Scheme 描述了用于通信的协议 (protocol),host 和 port 描述了资源的来源,path 描述了资源所在的位置。

在下面的练习中,尝试提取出的所有资源的协议、主机和端口。

练习 8:从 URL 中提取数据
Task Text Capture Groups Result
capture ftp://file_server.com:21/top_secret/life_changing_plans.pdf ftpfile_server.com21
capture https://regexone.com/lesson/introduction#section httpsregexone.com
capture file://localhost:4040/zip_file filelocalhost4040
capture https://s3cur3-server.com:9999/ httpss3cur3-server.com9999
capture market://search/angry%20birds marketsearch
解决上述任务以继续下一个问题,或者查看答案