python中的电子邮件正则表达式验证失败

2024-10-01 00:23:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python使用re库从web提取电子邮件。它完成了它的工作,但它提取了与模式匹配的链接。例如:

/images/paramproofs/services/pgp/logo_black_16@2x.png
/images/paramproofs/services/twitter/logo_black_16@2x.png
/images/paramproofs/services/github/logo_black_16@2x.png
/images/paramproofs/services/reddit/logo_black_16@2x.png
/images/paramproofs/services/web/logo_black_16@2x.png
/images/paramproofs/services/web/logo_black_16@2x.png
/images/paramproofs/services/stellar/logo_black_16@2x.png
/images/badges/install-badge-windows-168-56@2x.png
/images/badges/install-badge-windows-168-56@3x.png

这是我使用的模式:

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[ a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])


Tags: installwebpngservicelogoblackimagesbadges
1条回答
网友
1楼 · 发布于 2024-10-01 00:23:28

我不知道您从何处获取该正则表达式,但根据emailregex.com,这应该足以满足几乎所有情况(包括您的):

(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)

线锚(^表示线的开始,$表示线的结束)是这里的关键

相关问题 更多 >