请教一下正则提取问题[已解决]
本帖最后由 m765555 于 2019-5-29 21:11 编辑请教一下各位正则高手们,正则一直不是很懂,请各位指教:
我想获取下图中1,2,3处,可以用一句正则一次性提取吗?然后用${1}和${2}和${3}直接调用就好了.
三处地方,如果单独提取的话,我能提取出,(单独提取的一处的正则就不要放了),但感觉效率太低,网页源码中有这样相同的div很多组,每组我都想提取这样3处.
下面是网页中其中一组代码:
<div class="tt-yes">
<a href="/hh/rer76jhkkjkju.html" target="_blank">
<div class="myfile-by">
<div class="pc-this"><img src="/d/file/p/2018/07-03/pc09c1f72e98e5y4e887b65e8823cbf6.jpg" alt="产品编号"></div>
</div>
<div class="myfile-jt">
<h3 class="jt-name">产品编号</h3>
<span class="jt-xh">具体编号</span>
</div>
</a>
</div>我想要的3处,如图(图片点击放大看)
#include <Array.au3>
Local $sSource = _
' <div class="tt-yes">' & @CRLF & _
' <a href="/hh/rer76jhkkjkju.html" target="_blank">' & @CRLF & _
' <div class="myfile-by">' & @CRLF & _
' <div class="pc-this"><img src="/d/file/p/2018/07-03/pc09c1f72e98e5y4e887b65e8823cbf6.jpg" alt="产品编号"></div>' & @CRLF & _
' </div>' & @CRLF & _
' <div class="myfile-jt">' & @CRLF & _
' <h3 class="jt-name">产品编号</h3>' & @CRLF & _
' <span class="jt-xh">具体编号</span>' & @CRLF & _
' </div>' & @CRLF & _
' </a>' & @CRLF & _
' </div>'
;~MsgBox(0, '源字符串', $sSource)
Local $aSRE = StringRegExp($sSource, '(?si)<div\V+?src="([^"]+)"\h*alt="([^"]+)"></div>.+?">([^<]+)</span>\s+</div>', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($aSRE), '其中元素为: ' & $aSRE)
_ArrayDisplay($aSRE, UBound($aSRE))
感谢A版,我仔细研究一下你这段正则,学习了!
用的AFAN的正则工具,继续学习中。。
这个也不错,感谢分享.
页:
[1]