当前位置: 代码迷 >> ASP >> 求教高手,关于正则表达式,该怎么处理
  详细解决方案

求教高手,关于正则表达式,该怎么处理

热度:139   发布时间:2012-04-17 15:06:33.0
求教高手,关于正则表达式
请问下面的例子如何设置正则表达式?

<tr><td>20120409289</td>
  <td>2012-04-09 14:24</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td class="tdb_1"><div>14</div></td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td class="tdb_2"><div>白</div></td><td class="tdb_1"><div>绿</div></td><td> </td><td class="tdb_1"><div>蓝</div></td><td> </td></tr>
<tr><td>20120409288</td>
  <td>2012-04-09 14:21</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td class="tdb_1"><div>14</div></td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td class="tdb_2"><div>白</div></td><td class="tdb_1"><div>绿</div></td><td> </td><td class="tdb_1"><div>蓝</div></td><td> </td></tr>
<tr><td>20120409287</td>
  <td>2012-04-09 14:18</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td class="tdb_1"><div>17</div></td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td class="tdb_1"><div>黑</div></td><td> </td><td class="tdb_1"><div>绿</div></td><td> </td><td class="tdb_1"><div>蓝</div></td><td> </td></tr>

我想获取的是第一对td中的值,第二对td中的值。
还有的就是第3至第30对td中,只有其中一对会出现值。
例如第一段中是第17对td中有值,值为<div>14</div>,最终需要取的值是14
  第二段中是第17对td中有值,值为<div>14</div>,最终需要取的值是14
  第三段中是第20对td中有值,值为<div>17</div>,最终需要取的值是17
每段后面的其他三个属性,白,绿,蓝等属性不用获取

------解决方案--------------------
VBScript code

<%
    str = "<tr><td>20120409289</td><td>2012-04-09 14:24</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td class=""tdb_1""><div>14</div></td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td class=""tdb_2""><div>白</div></td><td class=""tdb_1""><div>绿</div></td><td> </td><td class=""tdb_1""><div>蓝</div></td><td> </td></tr>"
    'response.write str
    
    set re = new RegExp
    re.Pattern = "<td[^>]*>(<div>)?((?!\s).+?)(<\/div>)?</td>"
    re.IgnoreCase = True
    re.Global = True
    
    a = re.replace(re.execute(str)(0), "$2")
    b = re.replace(re.execute(str)(1), "$2")
    c = re.replace(re.execute(str)(2), "$2")
    response.write a
    response.write "<br/>"
    response.write b
    response.write "<br/>"
    response.write c
    
    
%>