使用REGEX将超链接替换为纯文本URL

本文关键字:文本 URL 替换 REGEX 超链接 使用 | 更新日期: 2023-09-27 18:16:57

我正在从我的应用程序发送电子邮件。它主要是html格式的,我使用正则表达式来剥离纯文本替代视图的html标签(使用@"<(.|'n)*?>")。我想用href地址的纯文本版本替换<a>超链接标签。

我似乎只能找到另一种转换方式的信息

使用REGEX将超链接替换为纯文本URL

如果你只是想用href值替换a标签,假设href值有",这里是正则表达式:

<a[^/>]*href="([^"]*)"/?>

和替换正则表达式:

$1
Regex reg=new Regex(@"<a[^>]*href=["]*(?<link>[^'s>"]+)["]*'s*(?:(?:/>)|(?:>[^>]*)>)");
mail.Body=reg.Replace(mail.Body, new MatchEvaluator(delegate(Match m)
{
return m.Groups["link"].Value;
}

可能邮件客户端会自动将纯文本转换为超链接,请这样做

return m.Groups["link"].Value.Replace("http://","");