正则表达式查找以@开头但忽略电子邮件地址的所有单词

时间:2012-04-06 14:26:35

标签: asp.net regex

我创建了这个正则表达式来匹配我的字符串中以“@”开头的所有单词,@ tokens之前也可能有一些东西。它运作良好,但它也捕获电子邮件地址,我想解决它。

(?<=@)\w+\b

示例字符串为:

  你好@bob,你好吗? @mark,@ emma和@chief和我在一起。给我发邮件   在test@email.com!

你能帮忙吗?

3 个答案:

答案 0 :(得分:3)

您可以使用下一个表达式:

\B@\w+

non-word boundary\B)开头。您也可以使用negative lookahead重写它,如下所示:

(?!\b)@\w+

答案 1 :(得分:0)

测试@

前面的空间

答案 2 :(得分:0)

我的建议是这样的。

  

[\s]?\B@\w+

我在RAD Software的Regex Designer中对它进行了测试,它匹配以@开头的每个单词。在它前面有或没有空间。

希望这有帮助;)