weeew 发表于 2013-2-27 13:34:26

[已解决]问个关于正表达式的

本帖最后由 weeew 于 2013-3-1 08:42 编辑

我想在下面的网页代码中找到成绩

          <td height="30" class="fontsize12"><div align="center">考生姓名</div></td>
          <td class="fontsize12"><div align="center">xxx</div></td>
      </tr>
      <tr>
          <td height="30" class="fontsize12"><div align="center">开始日期</div></td>
          <td class="fontsize12"><div align="center">2012-12-31</div></td>
      </tr>
      <tr>
          <td height="30" class="fontsize12"><div align="center">开始时间</div></td>
          <td class="fontsize12"><div align="center">8:53:30</div></td>
      </tr>
      <tr>
          <td height="30" class="fontsize12"><div align="center">结束日期</div></td>
          <td class="fontsize12"><div align="center">2012-12-31</div></td>
      </tr>
      <tr>
          <td height="30" class="fontsize12"><div align="center">结束时间</div></td>
          <td class="fontsize12"><div align="center">9:33:30</div></td>
      </tr>
      <tr>
          <td height="30" class="fontsize12"><div align="center">试题数量</div></td>
          <td class="fontsize12"><div align="center">40</div></td>
      </tr>
      
      <tr>
          <td height="30" class="fontsize12"><div align="center">答对题数</div></td>
          <td height="30" class="fontsize12"><div align="center">&nbsp;12&nbsp;</div></td>
      </tr>
      <tr>
          <td height="30" class="fontsize12"><div align="center">答错题数</div></td>
          <td height="30" class="fontsize12"><div align="center">&nbsp;28&nbsp;</div></td>
      </tr>
      <tr>
          <td height="30" class="fontsize12"><div align="center">总 得 分</div></td>
          <td height="30" class="fontsize12"><div align="center" id=zf>
            
            <font color="#FF0000" >30</font>
            
            </div></td>
      </tr>
      
      </table>
   
我用的表达式为
id=zf>\d+</
但是查不到内容

afan 发表于 2013-2-27 13:39:19

id=zf>\s+.+?>(\d+)

weeew 发表于 2013-2-27 13:44:06

回复 2# afan


    试验了,还是不行啊

afan 发表于 2013-2-27 13:45:20

weeew 发表于 2013-2-27 13:47:00

回复 2# afan


    试验了,老大给的不行
我改了下行了id=zf>\s+.+(\d+)

weeew 发表于 2013-2-27 13:47:58

但是取出来的是id=zf>      84能不能单独的数字

weeew 发表于 2013-2-27 13:55:10

回复 4# afan


    不懂 那个帮助的解释是英文的 不知道加哪里

afan 发表于 2013-2-27 13:57:39

#include <Array.au3>
Local $Str = _
                '          <td height="30" class="fontsize12"><div align="center">考生姓名</div></td>' & @CRLF & _
                '          <td class="fontsize12"><div align="center">xxx</div></td>' & @CRLF & _
                '      </tr>' & @CRLF & _
                '      <tr> ' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center">开始日期</div></td>' & @CRLF & _
                '          <td class="fontsize12"><div align="center">2012-12-31</div></td>' & @CRLF & _
                '      </tr>' & @CRLF & _
                '      <tr> ' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center">开始时间</div></td>' & @CRLF & _
                '          <td class="fontsize12"><div align="center">8:53:30</div></td>' & @CRLF & _
                '      </tr>' & @CRLF & _
                '      <tr> ' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center">结束日期</div></td>' & @CRLF & _
                '          <td class="fontsize12"><div align="center">2012-12-31</div></td>' & @CRLF & _
                '      </tr>' & @CRLF & _
                '      <tr> ' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center">结束时间</div></td>' & @CRLF & _
                '          <td class="fontsize12"><div align="center">9:33:30</div></td>' & @CRLF & _
                '      </tr>' & @CRLF & _
                '      <tr> ' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center">试题数量</div></td>' & @CRLF & _
                '          <td class="fontsize12"><div align="center">40</div></td>' & @CRLF & _
                '      </tr>' & @CRLF & _
                '      ' & @CRLF & _
                '      <tr> ' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center">答对题数</div></td>' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center">&nbsp;12&nbsp;</div></td>' & @CRLF & _
                '      </tr>' & @CRLF & _
                '      <tr> ' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center">答错题数</div></td>' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center">&nbsp;28&nbsp;</div></td>' & @CRLF & _
                '      </tr>' & @CRLF & _
                '      <tr> ' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center">总 得 分</div></td>' & @CRLF & _
                '          <td height="30" class="fontsize12"><div align="center" id=zf> ' & @CRLF & _
                '            ' & @CRLF & _
                '            <font color="#FF0000" >30</font> ' & @CRLF & _
                '            ' & @CRLF & _
                '            </div></td>' & @CRLF & _
                '      </tr>' & @CRLF & _
                '      ' & @CRLF & _
                '      </table>' & @CRLF
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, 'id=zf>\s+.+?>(\d+)', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中元素为: ' & $Test)
_ArrayDisplay($Test, UBound($Test))

weeew 发表于 2013-2-27 13:57:43

回复 4# afan


    不明白这个加哪里

weeew 发表于 2013-2-27 15:04:24

奇怪 版主给的例子执行成功的,怎么我的不行啊
我的那个$str 是从ie里面获取的
        $str=_IEBodyReadHTML($oIE)

lxwlxwayy 发表于 2013-2-27 18:22:25

不懂帮你顶
页: [1]
查看完整版本: [已解决]问个关于正表达式的