再次请教正则~~ 本帖最后由 cuthkid 于 2010-09-04 01:37:30 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你没说你要什么。你贴的正则无法捕获你给的任何一个例子。我猜一下。 private static void TestRegex06() { string html = @"<TD>09-02 17:00</TD>//Time <TD> <STRONG style=""COLOR: #006600"">20.5</STRONG> </TD>//Work1Score <TD>工作1/工作2 </TD>//Work <TD> <STRONG style=""COLOR: #006600"">30.5</STRONG> </TD>//Work2Score <TD> </TD> <TD> </TD> <TD> </TD> <TD> </TD> <TD> </TD> <TD> </TD> <TD> </TD> <TD>-</TD> <TD> </TD>"; string html1 = @"<TD colSpan=""2""> </TD> <TD>09-01 17:20</TD>//Time <TD>20.5 </TD>//Work1Score <TD>工作1/工作2</TD>//Work <TD>30.5 </TD>//Work2Score <TD> <STRONG style=""COLOR: #ff0000"">2.6</STRONG> </TD> <TD> <STRONG style=""COLOR: #006600"">2.95</STRONG> </TD> <TD> <STRONG style=""COLOR: #006600"">2.5</STRONG> </TD> <TD> </TD> <TD> </TD> <TD> </TD> <TD>1.9 </TD> <TD>-</TD> <TD>1.8 </TD> <TD colSpan=""3""> <A href=""javascript:void(0);oc_menu('hiddendata_54')""> <IMG alt="""" src=""images/aopan_hz_014.gif"" width=""95"" height=""21"" /> </A> </TD>"; string html2 = @"<TD>09-01 17:20</TD>//Time <TD>20.5 </TD>//Work1Score <TD>工作1/工作2 </TD>//Work <TD>30.5 </TD>//Work2Score <TD> </TD> <TD> </TD> <TD> </TD> <TD> </TD> <TD> </TD> <TD> </TD> <TD> </TD> <TD>-</TD> <TD> </TD>"; string html3 = @"<TD rowSpan=""3"" colSpan=""2""> </TD> <TD>09-02 09:50</TD>//Time <TD> <STRONG style=""COLOR: #ff0000"">20.5</STRONG> </TD>//Work1Score <TD>工作1/工作2 </TD>//Work <TD> <STRONG style=""COLOR: #006600"">30.5</STRONG> </TD>//Work2Score <TD> <STRONG style=""COLOR: #006600"">1</STRONG> </TD> <TD> <STRONG style=""COLOR: #ff0000"">2</STRONG> </TD> <TD> <STRONG style=""COLOR: #006600"">3</STRONG> </TD> <TD> </TD> <TD> </TD> <TD> </TD> <TD>1.85 </TD> <TD>-</TD> <TD>1.85 </TD> <TD rowSpan=""3"" colSpan=""3""> <A href=""javascript:void(0);oc_menu('hiddendata_47')""> <IMG alt="""" src=""images/aopan_hz_014.gif"" width=""95"" height=""21"" /> </A> </TD>"; string[] htmls = new string[] { html, html1, html2, html3 }; Regex regexs = new Regex(@"(?isn)<TD>\s*(?<Time>\d{2}-\d{2} \d{2}:\d{2})</TD>[^<]*<TD>(\s*<(?!/?td)[^<>]+>)*(?<Work1Score>[^<]+)((?!</TD).)+</TD>[^<]*<TD>\s*(?<Work>[^<]*)</TD>[^<]*<TD>(\s*<(?!/?td)[^<>]+>)*(?<Work2Score2>[^<]+)"); foreach (string test in htmls) { MatchCollection sections = regexs.Matches(test); foreach (Match m in sections) { Console.WriteLine(m.Groups["Time"].Value); Console.WriteLine(m.Groups["Work1Score"].Value); Console.WriteLine(m.Groups["Work"].Value); Console.WriteLine(m.Groups["Work2Score2"].Value); } Console.WriteLine("--------------------------------------"); } 请教把多个textbox里的文字复制到另一个软件对应的文本框里? 初学者,在线等,急用。。。。 C#写的上位机与USB设备连接的 关于c#报表的,有段代码不知道是怎么回事,还请大家帮帮忙! 如果男的本科女的研究生以后的生活可能会是怎样,大家讨论下! void是什么意思? 谁有发送邮件的试过能行的代码给我呀 如何使用VS7.0自带的微软CoolBar控件呀? C#编程规范 他妈的,人民邮电出版社的破书 求助打印机设置问题 关于连续走纸的 连续打印的 求解网吧管理系统中的客户端怎么和服务端进行交互
我猜一下。 private static void TestRegex06()
{
string html = @"<TD>09-02 17:00</TD>//Time
<TD>
<STRONG style=""COLOR: #006600"">20.5</STRONG> </TD>//Work1Score
<TD>工作1/工作2 </TD>//Work
<TD>
<STRONG style=""COLOR: #006600"">30.5</STRONG> </TD>//Work2Score
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD>-</TD>
<TD> </TD>
";
string html1 = @"<TD colSpan=""2""> </TD>
<TD>09-01 17:20</TD>//Time
<TD>20.5 </TD>//Work1Score
<TD>工作1/工作2</TD>//Work
<TD>30.5 </TD>//Work2Score
<TD>
<STRONG style=""COLOR: #ff0000"">2.6</STRONG> </TD>
<TD>
<STRONG style=""COLOR: #006600"">2.95</STRONG> </TD>
<TD>
<STRONG style=""COLOR: #006600"">2.5</STRONG> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD>1.9 </TD>
<TD>-</TD>
<TD>1.8 </TD>
<TD colSpan=""3"">
<A href=""javascript:void(0);oc_menu('hiddendata_54')"">
<IMG alt="""" src=""images/aopan_hz_014.gif"" width=""95"" height=""21"" />
</A>
</TD>";
string html2 = @"<TD>09-01 17:20</TD>//Time
<TD>20.5 </TD>//Work1Score
<TD>工作1/工作2 </TD>//Work
<TD>30.5 </TD>//Work2Score
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD>-</TD>
<TD> </TD>"; string html3 = @"<TD rowSpan=""3"" colSpan=""2""> </TD>
<TD>09-02 09:50</TD>//Time
<TD>
<STRONG style=""COLOR: #ff0000"">20.5</STRONG> </TD>//Work1Score
<TD>工作1/工作2 </TD>//Work
<TD>
<STRONG style=""COLOR: #006600"">30.5</STRONG> </TD>//Work2Score
<TD>
<STRONG style=""COLOR: #006600"">1</STRONG> </TD>
<TD>
<STRONG style=""COLOR: #ff0000"">2</STRONG> </TD>
<TD>
<STRONG style=""COLOR: #006600"">3</STRONG> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD>1.85 </TD>
<TD>-</TD>
<TD>1.85 </TD>
<TD rowSpan=""3"" colSpan=""3"">
<A href=""javascript:void(0);oc_menu('hiddendata_47')"">
<IMG alt="""" src=""images/aopan_hz_014.gif"" width=""95"" height=""21"" />
</A>
</TD>";
string[] htmls = new string[] { html, html1, html2, html3 };
Regex regexs = new Regex(@"(?isn)<TD>\s*(?<Time>\d{2}-\d{2} \d{2}:\d{2})</TD>[^<]*<TD>(\s*<(?!/?td)[^<>]+>)*(?<Work1Score>[^<]+)((?!</TD).)+</TD>[^<]*<TD>\s*(?<Work>[^<]*)</TD>[^<]*<TD>(\s*<(?!/?td)[^<>]+>)*(?<Work2Score2>[^<]+)");
foreach (string test in htmls)
{
MatchCollection sections = regexs.Matches(test); foreach (Match m in sections)
{
Console.WriteLine(m.Groups["Time"].Value);
Console.WriteLine(m.Groups["Work1Score"].Value);
Console.WriteLine(m.Groups["Work"].Value);
Console.WriteLine(m.Groups["Work2Score2"].Value);
} Console.WriteLine("--------------------------------------");
}