abis 发表于 2010-5-4 09:45:32

[已解决]这个正则为啥不行呢?

本帖最后由 abis 于 2010-5-8 12:12 编辑

#include <Inet.au3>
#include<array.au3>
$Source = _INetGetSource('http://www.excelpx.com/index.asp?boardid=38')
$sRep = StringRegExpReplace($Source, 'amp;|\n|\r|\s', '')
$sReg = StringRegExp($sRep, 'dispbbs\.asp\?boardid=?\d{2,3}&id=?\d{5,6}.*&page=1', 3)
_ArrayDisplay($sReg)

做了几个正则表达式,有的只能提取部分,这个直接就取不出来了,请各位帮忙看一下问题出在哪里。
就是提取网址呀,这个格式的:dispbbs.asp?boardID=38&ID=127766&page=1

3mile 发表于 2010-5-4 09:50:24

不知道你究竟想提取什么东东

woeiwoei 发表于 2010-5-4 10:01:25

你要提取啥东西呢??

abis 发表于 2010-5-4 10:38:34

提取网址呀

guland 发表于 2010-5-4 16:32:34

提取所有这种地址吗
dispbbs.asp?boardID=38&ID=127766&page=1

晚上回家研究研究

abis 发表于 2010-5-5 08:24:03

楼上几位,帮忙看一下呀,就提取网址的。

abis 发表于 2010-5-5 08:24:15

楼上几位,帮忙看一下呀,就提取网址的。

afan 发表于 2010-5-5 13:16:02

LZ abis 与 acbs 有关系吗?
这个问题 acbs 问过我,奇怪的是你也问这个… 且网址相同~
以下是以前回复他的#include <INet.au3>
#include <Array.au3>

$sUrl = 'http://www.excelpx.com/index.asp?boardid=38'
ToolTip('正在获取源码,请稍候……')
$str = _INetGetSource($sUrl)
$str = StringRegExpReplace($str, 'amp;|&quot;', '')
$sR = StringRegExp($str, '<a href=\"(.+?)\".+title=\"《(.+)》', 3)
If @error Then Exit MsgBox(0, 0, '未找到匹配~')
Dim $link, $x = 0
For $i = 0 To UBound($sR) - 1 Step 2
        $link[$x] = $sR[$i + 1]
        $link[$x] = 'http://www.excelpx.com/' & $sR[$i]
        $x += 1
Next
ToolTip('')
_ArrayDisplay($link, '标题及链接')

abis 发表于 2010-5-8 12:09:40

谢谢版主。
同一人,只不过以前acbs密码忘了,又注册了一个,呵呵。
页: [1]
查看完整版本: [已解决]这个正则为啥不行呢?