RegEx.Match问题C#从网站

时间:2016-02-07 14:46:57

标签: c# regex

我正在学习C#,我正在尝试从网站中提取数据。

到目前为止,我已经设法获得了我需要的数据。但由于它是我试图提取的超链接,我遇到了问题。

我正在尝试提取一个人的名字,并在源代码中将其写为

<td class="name"><a href="/fodbold/biografi/patrick-kristensen/">Patrick Kristensen</a>

我用它来提取

MatchCollection NameOfPlayer = Regex.Matches(html, "<td class=\"name\"><a href=\"/fodbold/biografi/patrick-kristensen/\">\\s*(.+?)\\s*</a>", RegexOptions.Singleline);

提取我需要忽略的每个人

<a href="/fodbold/biografi/patrick-kristensen/">

但是如何?

谢谢!

1 个答案:

答案 0 :(得分:0)

这个怎么样

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
    class Program
    {
         static void Main(string[] args)
        {
            string input =
                "<td class=\"name\"><a href=\"a\">s</a>" +
                "<td class=\"name\"><a href=\"b\">t</a>" +
                "<td class=\"name\"><a href=\"c\">u</a>" +
                "<td class=\"name\"><a href=\"d\">v</a>" +
                "<td class=\"name\"><a href=\"e\">w</a>" +
                "<td class=\"name\"><a href=\"f\">x</a>" +
                "<td class=\"name\"><a href=\"g\">y</a>" +
                "<td class=\"name\"><a href=\"h\">z</a>";

             string pattern = @"href=[^>]*>(?'name'[^<]*)";
             MatchCollection matches = Regex.Matches(input, pattern);

             foreach (Match match in matches)
             {
                 string name = match.Groups["name"].Value;
                 Console.WriteLine(name);
             }
             Console.ReadLine();
        }
    }
}