我想从字符串中提取电子邮件地址,例如:
<?php // code
$string = 'Ruchika <ruchika@example.com>';
?>
Run Code Online (Sandbox Code Playgroud)
从上面的字符串我只想获得电子邮件地址ruchika@example.com
.
请注意,建议如何实现这一目标.
我有大量的电子邮件地址要验证.最初我用正则表达式解析它们以抛弃那些完全疯狂的东西.我留下那些看起来合理但仍然可能包含错误的东西.
我想找到哪些地址有有效域名,所以给我me@abcxyz.com我想知道是否有可能发送电子邮件到abcxyz.com.
我想测试它是否与有效的A或MX记录相对应 - 是否有一种简单的方法只使用Python标准库?为了支持这个功能,我宁愿不为我的项目添加额外的依赖项.
尝试在文本框中验证以逗号分隔的电子邮件列表asp:RegularExpressionValidator
,请参阅以下内容:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1"
runat="server" ErrorMessage="Wrong email format (separate multiple email by comma [,])" ControlToValidate="txtEscalationEmail"
Display="Dynamic" ValidationExpression="([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)" ValidationGroup="vgEscalation"></asp:RegularExpressionValidator>
Run Code Online (Sandbox Code Playgroud)
当我在http://regexhero.net/tester/上测试时,它工作得很好,但它在我的页面上不起作用.
这是我的示例输入:
test@test.com,test1@test.com
Run Code Online (Sandbox Code Playgroud)
我在这篇文章中尝试了一个建议,但无法让它发挥作用.
ps我不想讨论正确的电子邮件验证
有许多的电子邮件正则表达式的问题突然出现了这里,我老老实实困惑,为什么人们在使用这些疯狂钝匹配的表达,而不是一个非常简单的解析器,拆分电子邮件成名称和域的令牌,然后验证那些反对名称允许的有效字符(此部分无法进一步检查)和域名的有效字符(我想您可以添加对所有世界TLD的检查,然后为国家/地区添加另一级别的二级域名用这样的(即com.uk)).
真正的问题是tlds和slds不断变化(与普遍看法相反),因此如果您计划在根名称服务器发送更改时进行所有这些高级别检查,则必须不断更新正则表达式.
为什么没有一个模块可以简单地验证从数据库或平面文件中提取的域,并可选择检查DNS是否匹配记录?
我在这里很认真,为什么每个人都如此热衷于为此发明完美的正则表达式?它似乎不是解决问题的合适方法......
说服我不仅可以在regexp中做(并满足每个人),但它是一个比自定义解析器/验证器更好的解决方案.
-亚当
我有一个客户,他有5000封来自旧列表的电子邮件,他希望将其服务推广到.他想知道列表中的哪些电子邮件仍然有效.我想为他检查一下 - 不随机发送5K电子邮件,然后被列为垃圾邮件发送者或其他东西.想法?
有没有人知道根据RFC5321/RFC5322验证电子邮件地址的正则表达式?
由于(可嵌套)注释使语法不规则,因此只应考虑没有注释的地址.
当然,如果您对验证某人实际拥有的地址感兴趣,那么唯一真正的验证是向该地址发送电子邮件并检查所有者是否收到了该地址.然而,我对RFC标准纯粹感兴趣.对于实际方法,这个问题更具相关性.
在评论之上,我愿意牺牲折叠空白区域,但除此之外,我对拒绝任何RFC5321/2有效地址的表达式不感兴趣.(可以说在某些情况下忽略折叠白色空间甚至是有意义的.)
理想情况下,正则表达式会拒绝任何不符合 RFC的内容,但这并不重要.例如,在正则表达式中包含一个详尽的顶级域列表并不是那么有趣.只需接受任何顶级域名就足够了.
我不确定地址标签(例如地址+ tag@domain.org)是否是我提到的RFC的一部分,但我希望正则表达式验证这些.
应该正确处理IPv6(RFC5952).
据我所知,国际化电子邮件(RFC6530,RFC6531,RFC6532,RFC6533)仍处于试验阶段,但验证这些地址的表达式也很有趣.
为了使答案普遍有趣,如果任何正则表达式是POSIX格式将是很好的.
我见过很多例子,有很多'不,你错过了什么'评论.匹配电子邮件地址的正确方法是什么?
出于Sanity的缘故,只有完全限定的域名,不允许使用@localhost.(或两种方式)
必须允许子域名(issac@deptartment.company.museum)
可能重复:
验证电子邮件地址的最佳正则表达式是什么?
我知道这是一个常见的问题,但在验证电子邮件地址时,我仍然无法找到一个很好的正则表达式.
我没有时间去阅读规范并自己编写.你以前用过什么,它运作得好吗?我并不关心100%匹配规格,但越接近越好.
我需要一个正则表达式,以便我可以在数据库表中找到所有无效的电子邮件地址.
SELECT *
FROM dbo.[Users] AS u
WHERE u.EmailAddress not like 'regular expression of valid email addresses'
Run Code Online (Sandbox Code Playgroud)
SQL Server是否支持正则表达式?如果是这样,我怎么能写一个电子邮件地址?
我正在尝试创建一个表达式来验证Gmail地址.这就是我到目前为止所做的.
^([\w]*[\w\.]*(?!\.)@gmail.com)
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个表达式来验证Gmail地址.这就是我到目前为止所做的.
但它并没有按照我的意愿运作.
Gmail地址:
e..o@gmail.com
[这是错的])说实话,我对正则表达式没有多少经验.
顺便问一下,是否有正则表达式的文档?