小弟自学C#,我用C#截取了一段网页代码,现在想将以下代码中的中文书名全部保存到一个数字里面,网上有人说用正则表达式,但是我对正则表达式一窍不通,还请高人指点~如何提取书名?</table>
<br><br><div align=center class=topictitle2>您的借阅情况如下</div><table Width=90% border=0 cellpadding=2 cellspacing=1 align=center bgcolor=#F7FBFF><tr><td colspan="6" height="1" background="../images/doc_01.gif"></td></tr><tr valign="baseline" bgcolor="#6D849B"><td width='5%' class=opac_white>序号</td><td noWrap width='50%' class=opac_white>图书题名</td><td noWrap width='15%' class=opac_white>图书条码</td><td noWrap width='15%' class=opac_white>流通状态</td><td noWrap width='10%' class=opac_white>应还日期</td><td noWrap width='10%' align='center' class=opac_white>续借</td></tr><TR  ><td align=center>1&nbsp;</td><td>C#从入门到实践&nbsp;</td><td>03231618&nbsp;</td><td>本馆借出&nbsp;</td><td>2010/06/25&nbsp;</td><td align=center><input type=button  name=renew  class="copy"  value="续借"  onclick="if (confirm('确实要续借吗?')) Renew('03231618','05','A');"></td></tr><TR  bgcolor=#EBF0F2><td align=center>2&nbsp;</td><td>C#开发经验技巧宝典&nbsp;</td><td>03167152&nbsp;</td><td>本馆借出&nbsp;</td><td>2010/06/21&nbsp;</td><td align=center><input type=button  name=renew  class="copy"  value="续借"  onclick="if (confirm('确实要续借吗?')) Renew('03167152','05','A');"></td></tr><TR  ><td align=center>3&nbsp;</td><td>Oracle 11g从入门到精通&nbsp;</td><td>03221157&nbsp;</td><td>本馆续借&nbsp;</td><td>2010/06/19&nbsp;</td><td>&nbsp;</td></tr><TR  bgcolor=#EBF0F2><td align=center>4&nbsp;</td><td>计算机组成原理复习指南与题解&nbsp;</td><td>01500874&nbsp;</td><td>本馆续借&nbsp;</td><td>2010/06/16&nbsp;</td><td>&nbsp;</td></tr><TR  ><td align=center>5&nbsp;</td><td>Visual C# 2008控件使用范例详解&nbsp;</td><td>03219795&nbsp;</td><td>本馆借出&nbsp;</td><td>2010/06/25&nbsp;</td><td align=center><input type=button  name=renew  class="copy"  value="续借"  onclick="if (confirm('确实要续借吗?')) Renew('03219795','05','A');"></td></tr><TR  bgcolor=#EBF0F2><td align=center>6&nbsp;</td><td>Java JDK 6学习笔记&nbsp;</td><td>03162658&nbsp;</td><td>本馆续借&nbsp;</td><td>2010/06/19&nbsp;</td><td>&nbsp;</td></tr><TR  ><td align=center>7&nbsp;</td><td>80x86微机原理及接口技术——习题解答与实验指导&nbsp;</td><td>03201016&nbsp;</td><td>本馆借出&nbsp;</td><td>2010/06/21&nbsp;</td><td align=center><input type=button  name=renew  class="copy"  value="续借"  onclick="if (confirm('确实要续借吗?')) Renew('03201016','05','A');"></td></tr><tr><td colspan="6" height="1" background="../images/doc_01.gif"></td></tr></table><form method="post" name="frmRenew" action="./infoList.jsp"><input type=hidden name=action value=Renew><input type=hidden name=book_barcode value=><input type=hidden name=department_id value=><input type=hidden name=library_id value=></form><form method="post" name="frmDelRecomm" action="./infoList.jsp"><input type=hidden name=action value=DelRecomm><input type=hidden name=order_no value=></form>
<table width="100%" height="300" border="0" cellpadding="0" cellspacing="0" valign=top>
  <tr>
<td>&nbsp;</td>
  </tr>
</table>

解决方案 »

  1.   

    (?is)<tr[^>]*><td[^>]*>\d&nbsp;</td><td>(?<book>.+?)&nbsp;</td>检测到的书名如下:C#从入门到实 践
    C#开发经验技巧宝典 
    Oracle 11g从入门到精通 
    计算机组成原理复习指南与题解
    Visual C# 2008 控件使用范例详解
    Java JDK 6学习笔记 
    80x86微机原理及接口技术——习题解答与实验指导
      

  2.   

    下面\d+更合适
    (?is)<tr[^>]*><td[^>]*>\d+&nbsp;</td><td>(?<book>.+?)&nbsp;</td>
      

  3.   

    2楼的可以。        private static void TestRegex32()
            {
                string html = @"</table>
    <br><br><div align=center class=topictitle2>您的借阅情况如下</div><table Width=90% border=0 cellpadding=2 cellspacing=1 align=center bgcolor=#F7FBFF><tr><td colspan=""6"" height=""1"" background=""../images/doc_01.gif""></td></tr><tr valign=""baseline"" bgcolor=""#6D849B""><td width='5%' class=opac_white>序号</td><td noWrap width='50%' class=opac_white>图书题名</td><td noWrap width='15%' class=opac_white>图书条码</td><td noWrap width='15%' class=opac_white>流通状态</td><td noWrap width='10%' class=opac_white>应还日期</td><td noWrap width='10%' align='center' class=opac_white>续借</td></tr><TR ><td align=center>1&nbsp;</td><td>C#从入门到实践&nbsp;</td><td>03231618&nbsp;</td><td>本馆借出&nbsp;</td><td>2010/06/25&nbsp;</td><td align=center><input type=button name=renew class=""copy"" value=""续借"" onclick=""if (confirm('确实要续借吗?')) Renew('03231618','05','A');""></td></tr><TR bgcolor=#EBF0F2><td align=center>2&nbsp;</td><td>C#开发经验技巧宝典&nbsp;</td><td>03167152&nbsp;</td><td>本馆借出&nbsp;</td><td>2010/06/21&nbsp;</td><td align=center><input type=button name=renew class=""copy"" value=""续借"" onclick=""if (confirm('确实要续借吗?')) Renew('03167152','05','A');""></td></tr><TR ><td align=center>3&nbsp;</td><td>Oracle 11g从入门到精通&nbsp;</td><td>03221157&nbsp;</td><td>本馆续借&nbsp;</td><td>2010/06/19&nbsp;</td><td>&nbsp;</td></tr><TR bgcolor=#EBF0F2><td align=center>4&nbsp;</td><td>计算机组成原理复习指南与题解&nbsp;</td><td>01500874&nbsp;</td><td>本馆续借&nbsp;</td><td>2010/06/16&nbsp;</td><td>&nbsp;</td></tr><TR ><td align=center>5&nbsp;</td><td>Visual C# 2008控件使用范例详解&nbsp;</td><td>03219795&nbsp;</td><td>本馆借出&nbsp;</td><td>2010/06/25&nbsp;</td><td align=center><input type=button name=renew class=""copy"" value=""续借"" onclick=""if (confirm('确实要续借吗?')) Renew('03219795','05','A');""></td></tr><TR bgcolor=#EBF0F2><td align=center>6&nbsp;</td><td>Java JDK 6学习笔记&nbsp;</td><td>03162658&nbsp;</td><td>本馆续借&nbsp;</td><td>2010/06/19&nbsp;</td><td>&nbsp;</td></tr><TR ><td align=center>7&nbsp;</td><td>80x86微机原理及接口技术——习题解答与实验指导&nbsp;</td><td>03201016&nbsp;</td><td>本馆借出&nbsp;</td><td>2010/06/21&nbsp;</td><td align=center><input type=button name=renew class=""copy"" value=""续借"" onclick=""if (confirm('确实要续借吗?')) Renew('03201016','05','A');""></td></tr><tr><td colspan=""6"" height=""1"" background=""../images/doc_01.gif""></td></tr></table><form method=""post"" name=""frmRenew"" action=""./infoList.jsp""><input type=hidden name=action value=Renew><input type=hidden name=book_barcode value=><input type=hidden name=department_id value=><input type=hidden name=library_id value=></form><form method=""post"" name=""frmDelRecomm"" action=""./infoList.jsp""><input type=hidden name=action value=DelRecomm><input type=hidden name=order_no value=></form>
    <table width=""100%"" height=""300"" border=""0"" cellpadding=""0"" cellspacing=""0"" valign=top>
      <tr>
    <td>&nbsp;</td>
      </tr>
    </table>";
                MatchCollection mc = Regex.Matches(html, @"(?is)<td align=center>\d+&nbsp;</td><td>(?<book>.+?)&nbsp;");
                foreach (Match m in mc)
                {
                    Console.WriteLine(m.Groups["book"].Value);
                }
            }
      

  4.   

    (?is)<tr[^>]*><td[^>]*>\d+&nbsp;</td><td>(?<book>.+?)&nbsp;</td><td>\d+&nbsp;</td><td>\w+&nbsp;</td><td>(?<date>.*?)&nbsp;</td>