正则表达式获取数字[已解决]
本帖最后由 heroxianf 于 2015-10-18 12:03 编辑想抓取网页上一个下载量的数字出来。
比如“谷歌浏览器已经下载1,520,000次” 这个数字随着下载增加而改变,希望每次都抓取正确的出来。
如何正则抓取这个下载次数而且去掉 , 号。自己整的代码不行啊。Local $aResult = StringRegExp('谷歌浏览器已经下载1,520,000次', '{1,}', $STR_REGEXPARRAYMATCH)
MsgBox(0, "抓取结果", $aResult)希望高人指点一下。 MsgBox(0, '', StringRegExpReplace('谷歌浏览器已经下载1,520,000次', '^.+?(?=[\d,]+)|(?<=\d)\D*', '')) 回复 2# afan
谢谢A大的帮助,虽然自己对这段看不明白,但确实解决了我的问题。如果我想从TXT里抓取“谷歌浏览器已经下载1,520,000次”应该怎么写呢?
问题又点傻帽希望帮助我一下。我的思路大致如下:
1,打开网页搜索谷歌下载次数
2,把该搜索结果保存为TXT文本
3,从TXT里抓取“谷歌浏览器已经下载1,520,000次”(这步我也不知道如何写)
4,从3步抓取的结果从匹配想要的下载次数(这步你帮我实现了) 固定文字很好匹配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, '^.+?(?=[\d,]+)|(?<=\d)\D*', ''), $aSR) 回复 4# afan
谢谢A大大帮助,问题解决了。
页:
[1]