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

Python如何从带mailto的异常字符串中提取标准邮箱地址?

处理方案

你拿到的是经过Quoted-Printable(QP)编码的邮件内容,存在两个需要修复的异常点:

  • HTML属性中的=被转义为QP编码格式的3D
  • 邮箱地址中间的换行是QP编码的软换行,是邮件传输时为了满足单行长度限制自动添加的,不属于邮箱本身的内容

实现代码

import quopri
import re

# 待处理的原始字符串
raw_content = '''a href3D"mailto:ahmet
ca@abc.tr"'''

# 1. 先做QP编码解码,还原原始HTML内容
decoded_content = quopri.decodestring(raw_content.encode("utf-8")).decode("utf-8")

# 2. 正则匹配mailto协议后的邮箱地址
email_pattern = re.search(r"mailto:([^\"]+)", decoded_content)
if email_pattern:
    # 3. 去除邮箱中所有多余的空白、换行符,得到标准格式
    standard_email = re.sub(r"\s+", "", email_pattern.group(1))
    print(standard_email)

运行上述代码输出结果为:ahmetca@abc.tr

逻辑说明

  • 邮件传输过程中特殊字符、过长行都会通过QP编码处理,使用Python标准库quopri可以直接完成解码,自动还原href3D为href=、处理软换行
  • 解码后提取邮箱后额外做一次全局空白符替换,可以兼容其他可能残留的异常格式,保证输出的邮箱地址符合标准规范

内容的提问来源于stack exchange,提问作者Muratcan Çoban

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:39:03