you only have <br>, so what  you can do:1. get everything between <td>...</td>
2. split with <br>for example: string s = "....."; Regex re = new Regex(@"<td[^>]*>([\s\S]+?)</td>",RegexOptions.IgnoreCase);//|RegexOptions.Singleline);
Match m = re.Match(s);
if (m.Success)
{
string s2= m.Groups[1].Value;
//Console.WriteLine(s2); string[] slist = Regex.Split(s2,"<br>",RegexOptions.IgnoreCase);
foreach (string s3 in slist)
{
Console.WriteLine(s3);

}
}

解决方案 »

  1.   

    if you are insisting on one regex, trystring s = "............";Regex re = new Regex(@"<td[^>]*>\s*((?<val>[^<]*)(<br>)?\s*)*\s*</td>",RegexOptions.IgnoreCase);//|RegexOptions.Singleline);
    Match m = re.Match(s);
    if (m.Success)
    {
    foreach(Capture c in m.Groups["val"].Captures)
    Console.WriteLine(c.Value);
    }
      

  2.   

    建议楼主那些数据用XML保存,客户浏览的时候用XSL转换成HTML。你的程序就只需要读取XML了,方便多了