找回密码
 加入
搜索
查看: 1526|回复: 4

[网络通信] 请教一下正则提取问题[已解决]

[复制链接]
发表于 2019-5-28 23:39:42 | 显示全部楼层 |阅读模式
本帖最后由 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处,如图(图片点击放大看)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2019-5-29 10:57:18 | 显示全部楼层
#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), '其中[0]元素为: ' & $aSRE[0])
_ArrayDisplay($aSRE, UBound($aSRE))

评分

参与人数 3金钱 +120 收起 理由
lpxx + 50 赞一个!
m765555 + 50 很给力!
顽固不化 + 20 赞一个!

查看全部评分

 楼主| 发表于 2019-5-29 21:00:33 | 显示全部楼层
感谢A版,我仔细研究一下你这段正则,学习了!
发表于 2019-5-30 09:34:56 | 显示全部楼层

用的AFAN的正则工具,继续学习中。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2019-5-31 00:05:49 | 显示全部楼层
这个也不错,感谢分享.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 21:02 , Processed in 0.082480 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表