【问题标题】:extracting email address from exception message从异常消息中提取电子邮件地址
【发布时间】:2014-09-01 11:18:30
【问题描述】:

python-social-auth 中,当用户使用现有电子邮件地址注册时,会引发异常。

我设法捕捉到了这个异常:

msg =   "%s" % exception

如果我打印msg,我会得到以下输出:

(1062, "Duplicate entry 'email@id.com' for key 'email_UNIQUE'")

我想检测此异常并向用户显示自定义错误消息,例如:

此电子邮件 ID 已存在,请使用 email@id.com 登录或选择登录。

所以我的问题是,如何仅从异常消息中获取电子邮件地址?或者有没有像{{ exception.email }}这样的快捷方式来获取模板中的邮箱地址?

【问题讨论】:

    标签: python django python-social-auth


    【解决方案1】:

    使用正则表达式

    import re
    
    strs="""(1062, "Duplicate entry 'email@id.com' for key 'email_UNIQUE'")"""
    
    email_id =re.findall(r"'(.*?)'", strs, re.DOTALL)[0]
    print 'This email id already exists please login with {} or choose to sign in.'.format(email_id)
    #output This email id already exists please login with email@id.com or choose to sign in.
    

    【讨论】:

    • 表示匹配引号之间的所有字符。'(.*?)'
    猜你喜欢
    • 2016-04-12
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 2017-03-17
    • 1970-01-01
    相关资源
    最近更新 更多