我想从 http://www.500wan.com/pages/info/datachart/ssl/zoushi/jbzs.php 这个网页的html源代码中, 获得这样的数据(即:左边的“期号”+“ 开奖号码 ”):
...
20090617-20 130
20090617-21 051
20090617-22 095
20090617-23 240
20090618-01 987
20090618-02 814
20090618-03 980
20090618-04 057
...其他内容不要。 请问:怎样用正则表达式来实现? 

解决方案 »

  1.   


    MatchCollection mc = Regex.Matches(yourStr, @"(?is)>(?<d>\d+)</a>\s*</td>\s*<td>(?:(?!<p>).)*<p>(?<n>(?:\d\s)*\d)</p>");
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups["d"].Value + "   " + m.Groups["n"].Value.Replace(" ", "") + "\n";
    }
    我用上面这段代码处理获取的数据流,得不到想要的结果(对正则表达式不熟  ||-_-#) 请问,这段正则表达式要怎么写? 
      

  2.   

                String content = "<tr><td><a href=\"javascript:detatilssc('2009061836');\">2009061836</a></td><td>18:00</td><td class=\"red\"><p>7 2 8 2 4</p></td></tr><tr><td><a href=\"javascript:detatilssc('2009061837');\">2009061837</a></td><td>18:10</td><td class=\"red\"><p>3 1 5 6 7</p></td></tr>";
                foreach (Match match in Regex.Matches(content, "'\\);\">(\\d{10,10})</a>.*?<p>([\\d ]+)</p>", RegexOptions.Singleline))
                {
                    Console.WriteLine(match.Groups[1].Value + "\t" + match.Groups[2].Value);
                }输出:
    2009061836 7 2 8 2 4
    2009061837 3 1 5 6 7
      

  3.   

                String content = File.ReadAllText("c:\\test.html");
                foreach (Match match in Regex.Matches(content, "<td>(\\d{8,8}-\\d{2,2})</td>.*?<td>(\\d{3,3})</td>", RegexOptions.Singleline))
                {
                    Console.WriteLine(match.Groups[1].Value + "\t" + match.Groups[2].Value);
                }
      

  4.   


                string content = new WebClient().DownloadString("http://www.500wan.com/pages/info/datachart/ssl/zoushi/jbzs.php");
                Console.WriteLine("期号\t开奖号码");
                foreach (Match m in Regex.Matches(content, @"<td>(\d{8}-\d{2})</td>[^<]+<td>(\d{3})</td>"))
                {
                    Console.WriteLine(m.Groups[1].Value + " " + m.Groups[2].Value);
                }
    /*
    输出:
    期号    开奖号码
    20090617-22 095
    20090617-23 240
    20090618-01 987
    20090618-02 814
    20090618-03 980
    20090618-04 057
    20090618-05 540
    20090618-06 131
    20090618-07 580
    20090618-08 585
    20090618-09 465
    20090618-10 361
    20090618-11 013
    20090618-12 126
    20090618-13 320
    20090618-14 131
    20090618-15 212
    20090618-16 095
    20090618-17 172
    20090618-18 301
    20090618-19 361
    20090618-20 114
    20090618-21 081
    20090618-22 809
    20090618-23 563
    20090619-01 960
    20090619-02 525
    20090619-03 187
    20090619-04 435
    20090619-05 718
    */
      

  5.   

    MatchCollection mc = Regex.Matches(yourStr, @"(?<=<td>\s*)\d{8}-\d{2}\s*</td>\s*<td>\s*\d+(?=\s*<\td>)");
    foreach (Match m in mc)
    {
        richTextBox2.Text += Regex.Replace(m.Value, @"\s*</td>\s*<td>\s*", " ") + "\n";
    }
      

  6.   

    1. 下载PilotEdit 2.6, http://topic.csdn.net/u/20090617/22/3b4e465d-c2cd-426d-9532-9865cdee8577.html
    新建一个文件,把数据拷贝到这个文件。2009-06-19   20090619-04   435   12   2   1 1 1 1 4 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 5 1 1 1 1 1 1 1 3 4 5 1 1 1 1
    2009-06-19  20090619-05  718  16  7  2 2 2 2 1 2 2 7 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 8 2 2 1 2 1 1 1 2 7 8 2
    2009-06-19  20090619-06  371  11  6  3 3 3 3 2 3 3 1 3 3 3 1 3 2 3 3 3 7 3 3 3 1 3 3 3 2 3 3 1 3 3 1 3 3 2 2 3 7 1 3
    2009-06-19  20090619-07  252  9  3  4 4 2 1 3 4 4 2 4 4 4 2 4 3 4 5 4 1 4 4 4 1 2 4 4 3 4 4 2 4 4 1
    2
    2 1 3 5 4 1 2 4
    2009-06-19  20090619-08  017  8  7  0 5 1 2 4 5 5 3 5 5 5 1 5 4 5 1 5 2 5 5 5 2 1 5 5 4 5 7 3 5 0 1 1 2 4 1 5 7 3 5
    2009-06-19  20090619-09  800  8  8  1 6 2 3 5 6 6 4 8 6 0 1 6 5 6 2 6 3 6 6 0 3 2 6 6 5 6 1 4 6
    2
    0 1 2 3 5 2 6 1 8 6
    2009-06-19  20090619-10  842  14  6  2 7 3 4 6 7 7 5 8 7 1 2 7 6 4 3 7 4 7 7 1 4 2 7 7 6 7 2 5 7 1 2 2 4 4 3 7 2 8 7
    2009-06-19  20090619-11  546  15  2  3 8 4 5 7 5 8 6 1 8 2 3 8 7 4 4 8 5 8 8 2 5 1 8 8 7 6 3 6 8 2 3 1 5 4 5 6 3 1 8
    2009-06-19  20090619-12  565  16  1  4 9 5 6 8 5 9 7 2 9 3 4 9 8 1 5 6 6 9 9 3 6 2 9 9 5 1 4 7 9 3 4 2 6 1
    2
    5 6 4 2 9
    2009-06-19  20090619-13  688  22  2  5 10 6 7 9 1 6 8 3 10 4 5 10 9 2 6 1 7 8 10 4 7 3 10 10 1 2 5 8 10 4 5 3 7 2 1 6 5
    2
    8 10
    2009-06-19  20090619-14  934  16  6  6 11 7 8 10 2 1 9 4 9 5 6 11 3 3 7 2 8 1 11 5 8 4 11 4 2 3 6 1 11 5 6 4 3 4 2 1 6 1 9
    2009-06-19  20090619-15  838  19  5  7 12 8 9 11 3 2 10 8 1 6 7 12 3 4 8 3 9 2 12 6 9 5 12 1 3 4 7 8 12 6 7 5 3 1 3 2 7
    2
    8 1
    2009-06-19  20090619-16  048  12  8  0 13 9 10 12 4 3 11 1 2 7 8 13 1 4 9 4 10 3 13 7 10 6 13 2 4 5 8 8 13 0 8 6 1 4 4 3 8 8 2
    2009-06-19  20090619-17  864  18  4  1 14 10 11 13 5 4 12 8 3 8 9 14 2 1 10 6 11 4 14 8 11 7 14 4 5 6 9 1 14 1 9 7 2 4 5 6 9 8 3
    2009-06-19  20090619-18  759  21  4  2 15 11 12 14 6 5 7 1 4 9 10 15 3 2 5 1 12 5 15 9 12 8 15 1 6 7 10 2 9 2 10 8 3 1 5 1 7 1 9
    2009-06-19  20090619-19  515  11  4  3 16 12 13 15 5 6 1 2 5 10 1 16 4 3 1 2 13 6 16 10 13 9 16 2 5 8 11 3 1 3 1 9 4 2
    2
    5 2 1 2 1
    2009-06-19  20090619-20  581  14  7  4 17 13 14 16 5 7 2 3 6 11 1 17 5 4 2 3 14 8 17 11 1 10 17 3 1 9 12 4 2 4 1 10 5 3 5 3 2 8 2
    2009-06-19  20090619-21  807  15  8  5 18 14 15 17 1 8 3 8 7 0 2 18 6 5 3 4 15 1 18 12 1 11 18 4 2 10 7 5 3 0 1 11 6 4 1 4 7 8 3
    2009-06-19  20090619-22  528  15  6  6 19 15 16 18 5 9 4 1 8 1 3 2 7 6 4 5 16 2 19 13 2 12 19 5 3 11 1 8 4 1 2 2 7 5 5 5 1 8 4
    2009-06-19  20090619-23  533  11  2  7 20 16 17 19 5 10 5 2 9 2 4 1 3 7 5 6 17 3 20 14 3 13 3 6 4 12 2 1 5 2 3 1
    2
    3 6 5 6 2 1 5
    2009-06-20  20090620-01  972  18  7  8 21 17 18 20 1 11 6 3 9 3 5 2 1 8 6 7 7 4 21 15 4 2 1 7 5 13 3 2 6 3 4 2 1 7 1 7 7 2 9
    2009-06-20  20090620-02  215  8  4  9 22 2 19 21 2 12 7 4 1 4 1 3 2 9 7 8 1 5 22 16 5 1 2 8 5 14 4 3 7 4 1 2 2 8 5 8 1 3 1
    2009-06-20  20090620-03  660  12  6  10 23 1 20 22 3 6 8 5 2 5 1 4 3 10 8 6 2 6 23 0 6 2 3 9 1 15 5 4 8 0 1 1 3 9 1
    2
    6 2 4 2
    2009-06-20  20090620-04  775  19  2  11 24 2 21 23 4 1 7 6 3 6 2 5 4 11 9 1 7 7 24 1 7 3 4 10 5 16 6 5 9 1 2 2 4 10 5 1
    2
    7 5 3
    2009-06-20  20090620-05  901  10  9  12 25 3 22 24 5 2 1 7 9 0 3 6 5 12 10 2 1 8 25 2 1 4 5 11 1 17 7 6 10 0 1 3 5 11 1 2 1 6 9
    2009-06-20  20090620-06  235  10  3  13 26 2 23 25 6 3 2 8 1 1 4 7 3 13 11 3 2 9 26 3 1 5 6 12 5 18 8 7 11 1 1 2 3 12 5 3 2 7 1
    2009-06-20  20090620-07  956  20  4  14 27 1 24 26 7 4 3 9 9 2 5 8 1 14 5 4 3 10 27 4 2 6 7 13 1 6 9 8 12 2 2 1 1 13 5 6 3 8 9
    2009-06-20  20090620-08  694  19  5  15 28 2 25 27 8 6 4 10 1 3 6 9 2 15 1 5 4 11 9 5 3 7 8 4 2 1 10 9 13 3 3 2 2 4 1 6 4 9 9
    2009-06-20  20090620-09  170  8  7  16 1 3 26 28 9 1 5 11 2 4 7 10 3 16 2 6 7 12 1 0 4 8 9 1 3 2 11 10 14 0 1 3 3 1 2 1 7 10 1
    2009-06-20  20090620-10  589  22  4  17 1 4 27 29 5 2 6 12 3 5 8 11 4 17 3 7 1 8 2 1 5 9 10 2 4 3 12 11 9 1 1 4 42. 点排序按钮,选择“比较由正则表达式定义的字符串”,输入下面的正则表达式和目标字符串([\t ]中有一个空格):
    正则表达式:2009[0-9][0-9][0-9][0-9]-[0-9][0-9][\t ]+[0-9]+[\t ]+
    目标字符串:%01%02%03%04%05%06%07%08\t%103. 点“将目标字符串拷贝到剪贴板”,即可将你要的数据拷贝到剪贴板:20090619-04 435
    20090619-05 718
    20090619-06 371
    20090619-07 252
    20090619-08 017
    20090619-09 800
    20090619-10 842
    20090619-11 546
    20090619-12 565
    20090619-13 688
    20090619-14 934
    20090619-15 838
    20090619-16 048
    20090619-17 864
    20090619-18 759
    20090619-19 515
    20090619-20 581
    20090619-21 807
    20090619-22 528
    20090619-23 533
    20090620-01 972
    20090620-02 215
    20090620-03 660
    20090620-04 775
    20090620-05 901
    20090620-06 235
    20090620-07 956
    20090620-08 694
    20090620-09 170
    20090620-10 589
      

  7.   

    楼主懂AJAX吗,可能用AJAX来实现起来会比较方便些