怎么把下面的数据先用正则提取出来,再汇总<meta http-equiv=refresh content=3><pre id=BET_DATA>
1 1 932 932 80 78/30
1 9 6 0 76 110/0
2 1 145 145 76.2 110/30
2 6 328 328 80 104/30
2 13 54 54 82 238/58
3 10 2365 2365 82 238/58
3 11 2583 2583 82 238/58
4 1 2880 2880 85 110/30
4 8 296 296 76 110/30
5 1 0 55 77 0/30
5 1 0 542 76.2 0/30
5 2 0 2168 84 0/58
6 2 1166 1166 80 78/30
6 8 403 403 76 110/30
7 1 1093 1093 82 100/30
7 5 0 542 82 0/58
7 5 262 262 76 110/30
8 2 0 217 82 0/58
8 2 761 761 76 110/30
9 1 187 187 82 238/58
10 3 1665 1665 76 110/30
10 8 298 298 82 236/58
10 10 27 0 82 236/0</pre><script>top.getBET();</script>
1 1 932 932 80 78/30
1 9 6 0 76 110/0
2 1 145 145 76.2 110/30
2 6 328 328 80 104/30
2 13 54 54 82 238/58
3 10 2365 2365 82 238/58
3 11 2583 2583 82 238/58
4 1 2880 2880 85 110/30
4 8 296 296 76 110/30
5 1 0 55 77 0/30
5 1 0 542 76.2 0/30
5 2 0 2168 84 0/58
6 2 1166 1166 80 78/30
6 8 403 403 76 110/30
7 1 1093 1093 82 100/30
7 5 0 542 82 0/58
7 5 262 262 76 110/30
8 2 0 217 82 0/58
8 2 761 761 76 110/30
9 1 187 187 82 238/58
10 3 1665 1665 76 110/30
10 8 298 298 82 236/58
10 10 27 0 82 236/0</pre><script>top.getBET();</script>
解决方案 »
- 关于伪静态问题,高手来看看
- 发布我写的12306订票外挂——【妈!我回来了】V2.6,自动识别验证码
- C#&SQL 多字段 范围查询问题!?
- 函数成员可直接调用静态数据成员吗?静态函数成员呢,可直接调用静态数据成员吗?
- 怎么修改继承窗体中的DataGridView控件的属性
- 关于streaminsight的应用问题
- 难道在用C#开发的程序真的不能在98系统中取出硬盘的物理序列号吗???????????
- combox和panel的使用
- 关于窗体前置的问题
- dataGrid问题之一
- 大家看看我用Session写的登入/登出哪里出问题了。先后n次登入的SessionID是一样的。
- c# 如何快速得到多条直线围成的区域
string str=@"<meta http-equiv=refresh content=3><pre id=BET_DATA>
1 1 932 932 80 78/30
1 9 6 0 76 110/0
2 1 145 145 76.2 110/30
2 6 328 328 80 104/30
2 13 54 54 82 238/58
3 10 2365 2365 82 238/58
3 11 2583 2583 82 238/58
4 1 2880 2880 85 110/30
4 8 296 296 76 110/30
5 1 0 55 77 0/30
5 1 0 542 76.2 0/30
5 2 0 2168 84 0/58
6 2 1166 1166 80 78/30
6 8 403 403 76 110/30
7 1 1093 1093 82 100/30
7 5 0 542 82 0/58
7 5 262 262 76 110/30
8 2 0 217 82 0/58
8 2 761 761 76 110/30
9 1 187 187 82 238/58
10 3 1665 1665 76 110/30
10 8 298 298 82 236/58
10 10 27 0 82 236/0</pre><script>top.getBET();</script>";
string result=Regex.Match(str,@"(?is)(?<=<meta[^>]*?>.*?<pre[^>]*?>).*?(?=</pre>)").Value;//你可以这样先取值 不知你想怎么分组统计
Regex regex = new Regex(@"([\d\.]+) ([\d\.]+) ([\d\.]+) ([\d\.]+) ([\d\.]+) ([\d\.]+/[\d\.]+)", RegexOptions.None);Group1-6就是每行的数字,剩下的需要你自己处理。
void Main()
{
string str=@"<meta http-equiv=refresh content=3><pre id=BET_DATA>
1 1 932 932 80 78/30
1 9 6 0 76 110/0
2 1 145 145 76.2 110/30
2 6 328 328 80 104/30
2 13 54 54 82 238/58
3 10 2365 2365 82 238/58
3 11 2583 2583 82 238/58
4 1 2880 2880 85 110/30
4 8 296 296 76 110/30
5 1 0 55 77 0/30
5 1 0 542 76.2 0/30
5 2 0 2168 84 0/58
6 2 1166 1166 80 78/30
6 8 403 403 76 110/30
7 1 1093 1093 82 100/30
7 5 0 542 82 0/58
7 5 262 262 76 110/30
8 2 0 217 82 0/58
8 2 761 761 76 110/30
9 1 187 187 82 238/58
10 3 1665 1665 76 110/30
10 8 298 298 82 236/58
10 10 27 0 82 236/0</pre><script>top.getBET();</script>";
string result=Regex.Match(str,@"(?is)(?<=<meta[^>]*?>.*?<pre[^>]*?>).*?(?=</pre>)").Value;
var list=from x in Regex.Split(result,@"\r\n")
let temp= Regex.Split(x,"\\s+")
where temp.Count()>1
group x by new{a=temp[0],b=temp[1]} into g
select new
{
a=g.Key.a,
b=g.Key.b,
c=g.Sum(n=>Convert.ToInt32(Regex.Split(n,"\\s+")[2])),
d=g.Sum(n=>Convert.ToInt32(Regex.Split(n,"\\s+")[3]))
};
list.ToList().ForEach(l=>Console.WriteLine("{0}\t{1}\t{2}\t{3}\t",l.a,l.b,l.c,l.d));/*
1 1 932 932
1 9 6 0
2 1 145 145
2 6 328 328
2 13 54 54
3 10 2365 2365
3 11 2583 2583
4 1 2880 2880
4 8 296 296
5 1 0 597
5 2 0 2168
6 2 1166 1166
6 8 403 403
7 1 1093 1093
7 5 262 804
8 2 761 978
9 1 187 187
10 3 1665 1665
10 8 298 298
10 10 27 0
*/
}