【问题标题】:Searching for the word "Unsubscribe" as a hyperlink in an email在电子邮件中搜索“取消订阅”一词作为超链接
【发布时间】:2019-11-26 08:07:24
【问题描述】:

我正在尝试查看文件夹中的电子邮件,并确定它们是否包含单词 'Unsubscribe' 作为超链接。目前我正在查看项目的正文并通过执行搜索取消订阅这个词

if (body.Contains("Unsubscribe"))

我想知道如何搜索带有指定单词的超链接。谢谢

【问题讨论】:

    标签: c# regex email hyperlink


    【解决方案1】:

    鉴于您正在寻找包含“取消订阅”一词的超链接,您可以使用以下正则表达式:

    <a.*?href.*?>[\S]*?[uU]nsubscribe.*[\S]</a>

    这将搜索其中某处带有“取消订阅”或“取消订阅”的任何超链接。

    Try it here!

    【讨论】:

    • 在 C# 正则表达式中,您不需要转义 '/'。它没有特殊含义。
    • @NickReed 所以我必须这样初始化:Regex url = new Regex([\s\S]*?[uU]nsubscribe.*[ \s\S]) 那么,如果 (url.Matches(body))
    • 在初始化正则表达式时,我会在正则表达式周围加上引号,即Regex url = new Regex("<a.*?href.*?>[\s\S]*?[uU]nsubscribe.*[\s\S]</a>") - 另外,您不需要在结束<a> 标签中使用\ ,这是我的错字.检查here了解更多信息。
    • @NickReed 感谢您迄今为止的帮助。是否需要 \s\S 中的“\”?它用红色下划线表示“无法识别的转义序列”
    • 尝试在字符串前面加一个@:Regex url = new Regex(@"<a.*?href.*?>[\s\S]*?[uU]nsubscribe.*[\s\S]</a>") 或使用双斜杠转义转义字符Regex url = new Regex("<a.*?href.*?>[\\s\\S]*?[uU]nsubscribe.*[\\s\S]</a>")
    猜你喜欢
    • 2012-12-02
    • 2016-03-28
    • 2011-03-24
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 2017-12-15
    • 2011-10-10
    • 2013-11-20
    相关资源
    最近更新 更多