如何用正则表达式精准提取文本中的超链接? 直接上手写正则提取超链接,最容易踩的坑就是“以为看见网址就能匹配”——实际上,纯文本里混着邮箱地址、JavaScript伪协议、甚至是标点符号末尾的残缺URL,分分钟让结果跑偏。真正的关键,不在于“找网址”,而在于“识别哪一段是真实可跳转的链接结构”。下面这
直接上手写正则提取超链接,最容易踩的坑就是“以为看见网址就能匹配”——实际上,纯文本里混着邮箱地址、JavaScript伪协议、甚至是标点符号末尾的残缺URL,分分钟让结果跑偏。真正的关键,不在于“找网址”,而在于“识别哪一段是真实可跳转的链接结构”。下面这几个正则表达式模式,基本覆盖了你能遇到的绝大多数场景。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
这是最常用也最稳妥的方式,适用于 http、https 开头的链接:
如果这段文本其实是 HTML 片段(比如从网页源码里截出来的),那么重点就是抓取 href 属性的值:
([^"']+) 确保只取引号内的内容,不会跨标签误吞。href=/about),可升级为:r'hrefs*=s*["']?([^"'>s]+)'。实际文本中还有不少非 http 开头但仍是有效链接的地址:
src、data-url 等属性,可用统一模式:r'(?:href|src|data-url)s*=s*["']?([^"'s>]+)'正则提取的是原始字符串,后续建议做这几步再用:
strip() 去掉首尾空白或多余符号(比如逗号、括号)。javascript:、mailto:、tel: 这类非页面跳转链接。/about 或 ./img.png),若需转成绝对地址,得结合原始网页 base URL 拼接。侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述