如何使用正则表达式从mailto标记中删除电子邮件地址?

时间:2013-07-04 12:59:44

标签: c# asp.net regex

我需要从mailto标记解析电子邮件地址。我正在寻找一种通过C#中的RegEx来实现这一目标的方法。

示例输入:

<mailto:abc@xyz.com>

示例输出:

abc@xyz.com

3 个答案:

答案 0 :(得分:2)

一般来说,it's a very bad idea to use regular expressions for HTML parsing。相反,请查看Html Agility Pack。对于您提供的具体输入,您可以使用:

(?<=\<mailto:).*(?=\>)

以下是代码示例:

var emailTag = "<mailto:abc@xyz.com>";
var emailValue = Regex.Match(emailTag, @"(?<=\<mailto:).*(?=\>)").Value;
Console.WriteLine(emailValue);

答案 1 :(得分:1)

用于删除mailto标记中任何内容的简单正则表达式

<mailto:(.*?)>

答案 2 :(得分:0)

您可以使用:

[\w\d]+\@[\w\d]+\.com

[\w\d]&lt; ----这匹配任何字母或字符。 \w匹配任何字母。 \d匹配任何数字。

+&lt; ----上一个项目中的一个或多个,在这种情况下[\w\d]+一个或多个字母或数字

\@&lt; ----只需匹配@符号,但需要使用\进行转义,因为它是一个特殊字符

[\w\d]+&lt; ----再次相同

\.&lt; ----与@ as .相同的概念是一个特殊字符,因此需要进行转义

在你的例子中:
[\w\d]+ = ABC
\@ = @
[\w\d]+ = XYZ
\. =。
com = com的

如果您想匹配特殊字符以及字母和数字,请将[\w\d]+替换为[\S]+(确保s为大写)。

[\S]+&lt; ---匹配任何不是空格的东西。

你必须做变化才能包括.co.uk和.org等。

http://www.regular-expressions.info/reference.html&lt; ----这非常有用!