我想从 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
...其他内容不要。 请问:怎样用正则表达式来实现?
...
20090617-20 130
20090617-21 051
20090617-22 095
20090617-23 240
20090618-01 987
20090618-02 814
20090618-03 980
20090618-04 057
...其他内容不要。 请问:怎样用正则表达式来实现?
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";
}
我用上面这段代码处理获取的数据流,得不到想要的结果(对正则表达式不熟 ||-_-#) 请问,这段正则表达式要怎么写?
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
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);
}
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
*/
foreach (Match m in mc)
{
richTextBox2.Text += Regex.Replace(m.Value, @"\s*</td>\s*<td>\s*", " ") + "\n";
}
新建一个文件,把数据拷贝到这个文件。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