【问题标题】:Regex to find Href value正则表达式查找 Href 值
【发布时间】:2011-07-29 13:20:02
【问题描述】:

我有一个字符串,其中有锚标记我想知道这些锚标记的 href 值。 我的字符串是这样的:

This is Test page <a href='test.aspx'>test page</a> .

在此我想找到 href 的值,即 test.aspx

请为此建议我任何好的 regx 组。

【问题讨论】:

    标签: c# asp.net regex


    【解决方案1】:

    如果您使用&lt;a [^&gt;]*href=(?:'(?&lt;href&gt;.*?)')|(?:"(?&lt;href&gt;.*?)"),则结果将存储在命名组 href 中

    例子:

    var inputString="This is Test page <a href='test.aspx'>test page</a>";
    var regex=new Regex("<a [^>]*href=(?:'(?<href>.*?)')|(?:\"(?<href>.*?)\")",RegexOptions.IgnoreCase);
    var urls=regex.Matches(inputString).OfType<Match>().Select(m =>m.Groups["href"].Value);
    

    urls 将是包含 href 的字符串集合。

    【讨论】:

      【解决方案2】:

      不要在 HTML 上使用 Regex,而是考虑使用 Html Agility Pack

      【讨论】:

        【解决方案3】:

        以下正则表达式可以解决问题:

        href=['"]([^'"]+?)['"]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-04-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多