使用Regex解析HTML

MTA*_*MTA -2 c# regex wpf

我有Bing html,我想解析它的结果:

    string BingRegex = "<div class=\"sb_tlst\"><h3><a href=\"(.*?)\"";
    string[] results = Regex.Matches(responseStr, BingRegex).Cast<Match>().Select(m => m.Value).ToArray();
Run Code Online (Sandbox Code Playgroud)

我将结果发送到数组,但它将模式添加到每个结果,如:

<div class=\"sb_tlst\"><h3><a href=\"www.cnn.com\"
<div class=\"sb_tlst\"><h3><a href=\"www.google.com\"
<div class=\"sb_tlst\"><h3><a href=\"www.gmail.com\"
Run Code Online (Sandbox Code Playgroud)

知道我怎么能解决这个问题并获得网址?

Pav*_*l K 5

我建议不要使用正则表达式来解析HTML.使用HtmlAgilityPack,如此处所示.然后只需使用XPath来获取所需属性的值.

样本div的XPath

<div class="sb_tlst">
    <h3>
        <a href="www.gmail.com"/>
    </h3>
</div>
Run Code Online (Sandbox Code Playgroud)

将会

/div[@class='sb_tlst']/h3/a/@href
Run Code Online (Sandbox Code Playgroud)