如何在一行文本中正确使用电子邮件地址,naviely?

时间:2013-07-09 07:06:17

标签: c# regex

我有一行文字(字符串),其中包含一些电子邮件地址。我知道电子邮件正则表达式上有一百万个帖子,但在这个问题中,我对电子邮件地址的定义只是一串字符,中间没有空格,只包含一个“@”符号。

  

e.g。懒狗跳过围栏@快速棕色狐狸的房子。当我   需要一个示例text_I/just@randomly.think of words to type。

这会给我fence@quicktext_I/just@randomly.think作为有效匹配。

我尝试了new Regex(@"\b.*@.*\b"),但它与整行文字相符,虽然它声称是边界元字符这个词?

我实际上让它与new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*")一起使用但有更简单的方法吗?编辑:这仍然错过了一些无效的电子邮件地址。

1 个答案:

答案 0 :(得分:0)

你应该使用这个正则表达式

\S+@\S+

\S将匹配任何非空格字符

但即使是空格也是电子邮件中的有效字符。所以要谨慎使用..


看一下这些文章

底线是这些标准从未被遵循,所以最好坚持下去 ^[^@]+@[^@]+$