<td align=right>
             
            2&nbsp;</td>
            <td>葡萄糖氯化钠注射液</td>
            <td></td>
            <!-------------------------------------------------------------->
<!--3.0浙江改造用-->

<!-------------------------------------------------------------->
            <td>500ml:25g(5%)×1/袋(非PVC膜+双管双塞)
</td>
                 <!-- td -->
    <!-- %@include file="/order/wrap_name_content_bottom.jsp"% -->            <td title='青岛华仁药业股份有限公司'>青岛华仁药业</td> 
<td title='青岛华仁药业股份有限公司'>青岛华仁药业</td> 
     <!---tt1315 mq 2007-6-28-->
    
    
                    
        <td align="right">6.98</td>
        <td align="right">8.02</td><!--wangyc 2006-12-18-->
        <td align="right">
        100
        <input type="hidden" name="requestQty" value='100'/>
        </td>
        <td align="right">
        0
        <input type="hidden" name="receiveQty" value='0'/>
        </td>
        <td align="right">
        0
        <input type="hidden" name="readyQty" value='0'/>
        </td>
        <td align="right">
        取值
        <input type="hidden" name="unitPrice" value="6.98">
        </td>            
        <td align="center">
             -
        </td>
            求一个正则表达式 取红色字段
            

解决方案 »

  1.   


      /// <summary>
            /// 去掉HTML标签
            /// </summary>
            /// <param name="strHtml"></param>
            /// <returns></returns>
            public static string stripHtml(string strHtml)
            {
                Regex objRegExp = new Regex("<(.|\n)+?>");
                string strOutput = objRegExp.Replace(strHtml, "");
                strOutput = strOutput.Replace("<", "");
                strOutput = strOutput.Replace(">", "");
                return strOutput;
            }
      

  2.   


    @"(?<=<td[^<>]*>([^<>]*<img[^<>]+>)?)[^<>]+(?=</td>)"
    这正则取不到下面的这几个我很悲剧呼叫正则帝
    <td align="right">
      100
      <input type="hidden" name="requestQty" value='100'/>
      </td>
      <td align="right">
      0
      <input type="hidden" name="receiveQty" value='0'/>
      </td>
      <td align="right">
      0
      <input type="hidden" name="readyQty" value='0'/>
      </td>
      

  3.   

    有点困难,因为你的规则不明确。MatchCollection mc = Regex.Matches(yourStr,@"(?is)(?<=<td[^<>]*>).+?(?=</td>)");
    foreach(Match m in mc)
    {
        MessageBox.Show(m.Value);
    }这个正则能获得所有td标签内的文本。你去掉第一个,剩下的就是你要的。
      

  4.   

    匹配结果
        
      2&nbsp;
    葡萄糖氯化钠注射液

    500ml:25g(5%)×1/袋(非PVC膜+双管双塞)青岛华仁药业
    青岛华仁药业
    6.98
    8.02  100
      <input type="hidden" name="requestQty" value='100'/>
        0
      <input type="hidden" name="receiveQty" value='0'/>
        0
      <input type="hidden" name="readyQty" value='0'/>
        取值
      <input type="hidden" name="unitPrice" value="6.98">
      -
    -----------------------------------
    13个结果被匹配
      

  5.   


    有个别的有<INPUT 比较恶心
      

  6.   

    那用这个
    (?is)(?<=<td[^<>]*>)[^<>]+不过要注意,可能会吧你文本中的<或>符号后面的都截断不保留了。还是前者更安全。不过要再次处理掉<input>标签
      

  7.   


    <td align="right">
      取值1
      <input type="hidden" name="unitPrice" value="6.98">
      取值2
      <a>取值3</a>
      取值4
      <table>
        <tr>
          <td>取值5</td>
        </tr>
      </table>
      取值6
    </td>取值1-取值6,哪些是你要的,也就是说,你还得把需要的东西说清楚才行。
      

  8.   


    我只匹配一下爱<INPUT> 然后replace 掉不就行了?只匹配<INPUT>  <input.*> 这么取 貌似取不全>
      

  9.   

    用这个
    string result = Regex.Replace(eachValue,@"(?si)(\r\n)?<input[^<>]+(\1)?>",string.Empty);