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

[AU3基础] 正则表达式获取数字[已解决]

[复制链接]
发表于 2015-10-18 01:48:29 | 显示全部楼层 |阅读模式
本帖最后由 heroxianf 于 2015-10-18 12:03 编辑

想抓取网页上一个下载量的数字出来。

比如“谷歌浏览器已经下载1,520,000次” 这个数字随着下载增加而改变,希望每次都抓取正确的出来。

如何正则抓取这个下载次数而且去掉 , 号。自己整的代码不行啊。
Local $aResult = StringRegExp('谷歌浏览器已经下载1,520,000次', '[1-9][0-9]{1,}', $STR_REGEXPARRAYMATCH)
MsgBox(0, "抓取结果", $aResult[0])
希望高人指点一下。
发表于 2015-10-18 10:22:58 | 显示全部楼层
MsgBox(0, '', StringRegExpReplace('谷歌浏览器已经下载1,520,000次', '^.+?(?=[\d,]+)|(?<=\d)\D*', ''))
 楼主| 发表于 2015-10-18 11:33:25 | 显示全部楼层
回复 2# afan

谢谢A大的帮助,虽然自己对这段看不明白,但确实解决了我的问题。如果我想从TXT里抓取“谷歌浏览器已经下载1,520,000次”应该怎么写呢?

问题又点傻帽希望帮助我一下。我的思路大致如下:
1,打开网页搜索谷歌下载次数
2,把该搜索结果保存为TXT文本
3,从TXT里抓取“谷歌浏览器已经下载1,520,000次”(这步我也不知道如何写)
4,从3步抓取的结果从匹配想要的下载次数(这步你帮我实现了)
发表于 2015-10-18 11:55:38 | 显示全部楼层
固定文字很好匹配
Local $Str = _
                '回复 2# afan ' & @CRLF & @CRLF & _
                '谢谢A大的帮助,虽然自己对这段看不明白,但确实解决了我的问题。如果我想从TXT里抓取“谷歌浏览器已经下载1,520,000次”应该怎么写呢?' & @CRLF & @CRLF & _
                '问题又点傻帽希望帮助我一下。我的思路大致如下:' & @CRLF & _
                '1,打开网页搜索谷歌下载次数' & @CRLF & _
                '2,把该搜索结果保存为TXT文本' & @CRLF & _
                '3,从TXT里抓取“谷歌浏览器已经下载1,520,000次”(这步我也不知道如何写)' & @CRLF & _
                '4,从3步抓取的结果从匹配想要的下载次数(这步你帮我实现了) ' & @CRLF
MsgBox(0, '原字符串', $Str)
Local $aSR = StringRegExp($str, '(?s)^.+?(谷歌浏览器已经下载[\d,]+次).*', 1)
If @Error Then Exit MsgBox(48, '', '无匹配')
MsgBox(0, StringRegExpReplace($aSR[0], '^.+?(?=[\d,]+)|(?<=\d)\D*', ''), $aSR[0])
 楼主| 发表于 2015-10-18 12:02:24 | 显示全部楼层
回复 4# afan

谢谢A大大帮助,问题解决了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 22:16 , Processed in 0.082473 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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