[已解决]怎么用一个表达式获取网页源码中指定的内容
本帖最后由 Netfox 于 2013-5-8 17:37 编辑<tr>
<td align="left" width="30%" style="padding-left:30px;"><a href="user_order_info.asp?id=131983" target="_blank">2013032215284996132</a></td>
<td align="center" width="20%">2013-3-22 15:28:00</td>
<td align="right" width="10%">2,521.00元</td>
<td align="center" width="20%">已确认,已付款,已发货</td>
<td align="center"><font class="f6">
<a href="user_order.asp?act=affirm_received&id=131983" onclick="if (!confirm('你确认已经收到货物了吗?')) return false;">确认收货</a>
</font></td>
</tr>想用一个表达式获取代码中红色的内容,请教大大些。 #include <Array.au3>
Local $Str = _
'<tr>' & @CRLF & _
' <td align="left" width="30%" style="padding-left:30px;"><a href="user_order_info.asp?id=131983" target="_blank">2013032215284996132</a></td>' & @CRLF & _
' <td align="center" width="20%">2013-3-22 15:28:00</td>' & @CRLF & _
' <td align="right" width="10%">2,521.00元</td>' & @CRLF & _
' <td align="center" width="20%">已确认,已付款,已发货</td>' & @CRLF & _
' <td align="center"><font class="f6">' & @CRLF & _
' <a href="user_order.asp?act=affirm_received&id=131983" onclick="if (!confirm(' & "'你确认已经收到货物了吗?')) return false;" & '">确认收货</a>' & @CRLF & _
' </font></td>' & @CRLF & _
' </tr>'
;MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '(?si)blank">(.+?)</.+?>([^<>]+?)</.+?>([^<>]+?)</.+?>([^<>]+?)</', 1)
_ArrayDisplay($Test, UBound($Test)) 本帖最后由 Netfox 于 2013-4-29 17:12 编辑
回复 2# afan
非常感谢Afan,不过,被这强大的表达式搞得云里雾里的,根本不明白他的意思,能不能再麻烦一下Afan给小弟解释一下具体的意思,再次拜谢。还有就是为什么这里要用模式1,能用模式3吗 回复afan
非常感谢Afan,不过,被这强大的表达式搞得云里雾里的,根本不明白他的意思,能不能再 ...
Netfox 发表于 2013-4-29 17:08 http://www.autoitx.com/images/common/back.gif
解释一下“[^<>]”,即“非 < 和 > ”的任意字符,其它的就是基本的正则语法了。
使用1是匹配到一次即返回,使用3也行,不过它会继续往下匹配,这里就不需要了 嗯,收到,非常感觉Afan的帮助。
页:
[1]