【发布时间】:2013-03-12 18:18:25
【问题描述】:
我目前使用以下代码:
regexp = re.compile(r'[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}', re.IGNORECASE)
email = regexp.findall(stext)
if email:
email = email[0]
但即使stext 包含除电子邮件之外的其他文本(例如,some text email@example.com some other text),它也可以工作。当我想检查 stext 是否包含 email@example.com only (好的,可能带有前导或/和尾随空格,没有其他字符)。
PS。我也认为可能我应该使用mail.is_email_valid 而不是正则表达式,它will allow me 来支持像.museam 这样的长域或像.рф 这样的本地域。
【问题讨论】:
-
您可以使用
^和$特殊字符分别匹配字符串的开头和结尾。像r'^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$'这样的东西会让你开始。