如何在一行文本中正则化电子邮件地址
本文关键字:文本 一行 正则化 电子邮件地址 | 更新日期: 2023-09-27 18:21:32
我有一行文本(字符串),其中包含一些电子邮件地址。我知道在电子邮件regex上有大约一百万条帖子,但在这个问题上,我对电子邮件地址的定义只是一个字符串,中间没有空格,并且只包含一个"@"符号。
懒惰的狗跳过fence@quick棕色狐狸的房子。当我需要一个示例text_I/just@randomly.think要键入的单词数。
这将使我获得fence@quick
和text_I/just@randomly.think
作为有效匹配。
我尝试了new Regex(@"'b.*@.*'b")
,但它匹配了整行文本,尽管它声称是单词边界元字符?
事实上,我用new Regex(@"'w+([-+.]'w+)*@'w+([-.]'w+)*'.'w+([-.]'w+)*")
实现了它,但有更简单的方法吗?编辑:这仍然遗漏了一些无效的电子邮件地址。
您应该使用此regex
'S+@'S+
'S
将匹配任何不是空间的字符
但即使是空格也是电子邮件中的有效字符。请谨慎使用。。
看看这些文章
停止使用复杂正则表达式验证电子邮件地址
简单解释电子邮件地址格式(RFC 822)
电子邮件地址格式
RFC 822标准
底线是,这些标准从未得到遵守,所以最好还是坚持下去^[^@]+@[^@]+$