<html>
<head>
<meta>
<title>...</title>
</head>
<body>
<table>
<tr>
<td>
<table>
<tr>          //从这里开始
<td>xxx</td>
</tr>
<tr>
<td>xxx</td>
</tr>
<tr>
<td>xxx</td>
</tr>
<tr>
<td>xxx</td>
</tr>          //到这里结束
</table>
</td>
</tr>
</table>
</body>
</html>从上方的字符串中取出
<tr>
<td>xxx</td>
</tr>
数组,而非单个我自己写了一个,只取出来一个,也就是从第一个<tr>到最后一个</tr>
reg = "(\\s|\\n)*<tr\\s.*>(.|\\n)*</tr>"
而我的意思从上方的字符串中要取出4个来.从到一个到最后一个不知道我讲的够不够清楚.

解决方案 »

  1.   

    <tr>\s+<td>[^<]+</td>\s+</tr>
      

  2.   

    <tr>\s*<td>[^<]*</td>\s*</tr>
    这个能匹配更多的字符,如果只需要<td></td>之间的
    用这个
    <tr>\s*<td>([^<]*)</td>\s*</tr>
      

  3.   

    <tr>\s*<td>[^<]*</td>\s*</tr>
    这个能匹配更多的字符,如果只需要<td></td>之间的
    用这个
    <tr>\s*<td>([^<]*)</td>\s*</tr>
      

  4.   

    <tr>\s*<td>[^<]*</td>\s*</tr>
      

  5.   

    public static ArrayList ConvertAtag22(string s)
    {
    ArrayList arrL=new ArrayList();
    string r = @"(?<value><tr>\s*<td>([^<]*)</td>\s*</tr>)";
    foreach(Match m in Regex.Matches(s, r))  
      {  
       arrL.Add( m.Groups["value"].Value);  
      }
    return arrL;
    }
      

  6.   

    <tr>
    <td>xxx</td>
    </tr>tr之间TD出现的次数是不一定的.也就是说不一定只出现一个<TD>,或许是
    <tr>
    <td>xxx</td>
    <td>xxx</td>
    <td>xxx</td>
    </tr>
    亦或许是
    <tr>
    <td>xxx</td>
    <td>xxx</td>
    </tr>
      

  7.   

    public static ArrayList ConvertAtag22(string s)
    {
    ArrayList arrL=new ArrayList();
    string r = @"(?<value><tr>(\s*<td>([^<]*)</td>\s*)+</tr>)";
    foreach(Match m in Regex.Matches(s, r))  
      {  
       arrL.Add( m.Groups["value"].Value);  
      }
    return arrL;
    }
      

  8.   

    mobydick(敌伯威|我排著队拿著爱的号码牌)
    <td>([^<]*)</td>你的这个方法肯定不行,我现在想得到的是包含有若干个<TD>的<TR>而非<TD> q_po_o(两个人

    You are right!Thank you very much~ 同样谢谢其它关心和支持的朋友.结帐
      

  9.   

    @"(?<value><tr>(\s*<td>([^<]*)</td>\s*)+</tr>)";另外请教一下,?<value>是什么意思?还有[^<]
    在js的说明里面,好像没有.
    谢谢
      

  10.   

    Microsoft Visual Studio .NET 2003 文档 有[^<]除了<之外的所有字符
    (?<value>....)取和()里匹配的字符额外的分就算了,留着问问题吧:)