[已解决]问个关于正表达式的
本帖最后由 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"> 12 </div></td>
</tr>
<tr>
<td height="30" class="fontsize12"><div align="center">答错题数</div></td>
<td height="30" class="fontsize12"><div align="center"> 28 </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+</
但是查不到内容 id=zf>\s+.+?>(\d+) 回复 2# afan
试验了,还是不行啊 回复 2# afan
试验了,老大给的不行
我改了下行了id=zf>\s+.+(\d+) 但是取出来的是id=zf> 84能不能单独的数字 回复 4# afan
不懂 那个帮助的解释是英文的 不知道加哪里 #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"> 12 </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"> 28 </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))
回复 4# afan
不明白这个加哪里 奇怪 版主给的例子执行成功的,怎么我的不行啊
我的那个$str 是从ie里面获取的
$str=_IEBodyReadHTML($oIE) 不懂帮你顶
页:
[1]