You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中用正则表达式提取首个特定符号前的完整URL?

解决方案

你可以用re.search()代替re.findall(),直接匹配完整的第一个URL,不需要手动补前缀,也不用处理返回的列表。

对应的正则模式可以写成:r'https://[^\\]+'

代码示例

import re

example_text = 'b\'\\x08\\x13"\\\\https://www.example.com/link_1.html\\xd2\\x01`https://www.example.com/link_2.html\''
match = re.search(r'https://[^\\]+', example_text)
if match:
    output = match.group()
    print(output)  # 输出: https://www.example.com/link_1.html

模式解释

  • https://:匹配URL的固定前缀,确保捕获完整的URL开头
  • [^\\]+:匹配除了反斜杠之外的任意字符,直到遇到第一个反斜杠就停止。刚好对应你场景中第一个URL的结束位置(原字符串里第一个URL后紧跟\\xd2,也就是转义后的反斜杠)

为什么比你之前的写法更好

  1. 直接捕获完整URL,不用手动拼接https://前缀
  2. re.search()只返回第一个匹配的结果,不需要从列表里取第一个元素
  3. 逻辑更直观,完全贴合你“匹配以https开头、以反斜杠结尾的URL”的需求

内容的提问来源于stack exchange,提问作者Chi-Yuan Li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:20:22