我需要从mailto
标记解析电子邮件地址。我正在寻找一种通过C#中的RegEx来实现这一目标的方法。
<mailto:abc@xyz.com>
abc@xyz.com
答案 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; ----这非常有用!