# 问题 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 |
解决上述任务以继续下一个问题,或者查看答案。