2023 © RegexOne
电子邮件 | Twitter
在处理网络上的文件和资源时,您经常会遇到 URI 和 URL,这些 URI 和 URL 可以直接解析和处理。大多数标准库都包含用于解析和构造此类标识符的类,但如果您需要在日志或更大的文本语料库中匹配它们,则可以使用正则表达式轻松地从其结构化格式中提取信息。
URI 或统一资源标识符是资源的表示形式,通常由方案、主机、端口(可选)和资源路径组成,分别突出显示如下。
http://regexone.com:80/page
方案描述了用于通信的协议,主机和端口描述了资源的来源,完整路径描述了资源在来源中的位置。
在下面的练习中,尝试提取所有列出资源的协议、主机和端口。
任务 | 文本 | 捕获组 | |
捕获 | ftp://file_server.com:21/top_secret/life_changing_plans.pdf | ftp file_server.com 21 | |
捕获 | https://regexone.fullstack.org.cn/lesson/introduction#section | https regexone.com | |
捕获 | file://localhost:4040/zip_file | file localhost 4040 | |
捕获 | https://s3cur3-server.com:9999/ | https s3cur3-server.com 9999 | |
捕获 | market://search/angry%20birds | market search |
解决方案 | 我们必须匹配所有三个组件
为了将所有这些组合在一起,我们得到了完整的正则表达式(\w+)://([\w\-\.]+)(:(\d+))?来捕获我们正在寻找的所有数据。 |