2026-04-23 21:54:55
使用正则表达式匹配URL的核心方法包括匹配典型URL、提取URL组件以及匹配特定类型URL,具体可通过设计不同的正则表达式模式实现。
一、匹配典型URL典型URL的正则表达式为:(?:https?://|www.)S+.S+
(?:https?://|www.):匹配协议部分(http://、https://)或www.前缀。
S+:匹配一个或多个非空白字符,捕获域名主体(如example)。
.S+:匹配一个句点(.)后跟一个或多个非空白字符,捕获顶级域名或文件扩展名(如.com、.html)。
通过正则表达式可拆分URL的协议、域名、文件路径等部分:
匹配URL开头的协议或www.前缀(如https://或www.)。
w+:匹配域名主体(字母、数字、下划线)。
(?:.w+)+:匹配一个或多个子域名(如.google.com中的.google和.com)。
S*:匹配路径中的非空白字符(如/search)。
.(?:html|php|js|css):匹配文件扩展名(如.html、.css)。
针对特定资源类型(如图片、PDF),可设计专用正则表达式:
匹配以.jpg、.jpeg、.png、.gif结尾的URL(如
匹配以.pdf结尾的URL(如
S匹配非空白字符,适用于域名和路径。
w匹配字母、数字、下划线,适用于域名主体。
+匹配一个或多个字符(如S+)。
*匹配零个或多个字符(如S*)。
爬虫中提取链接。
验证用户输入的URL格式。
过滤特定类型资源(如图片、PDF)。
正则表达式可能无法覆盖所有URL变体(如带端口号
复杂URL(如含查询参数?id=123或片段#section)需调整模式(如S*[?#]?S*)。
通过灵活组合上述模式,可高效实现URL的匹配、拆分与分类。