0

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

例如,懒狗跳过栅栏@quick brown fox 的房子。当我需要一个示例 text_I/just@randomly.think 要键入的单词时。

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

我试过new Regex(@"\b.*@.*\b")了,但它匹配整行文本,尽管它声称是单词边界元字符?

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

4

1 回答 1

0

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

\S+@\S+

\S将匹配任何不是空格的字符

但即使空格也是电子邮件中的有效字符。因此请谨慎使用它。


看看这些文章

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

于 2013-07-09T07:17:30.430 回答