shano 发表于 2010-9-27 01:30:43

StringRegExp使用的疑问(已解决)

本帖最后由 shano 于 2010-9-27 23:21 编辑

StringRegExp 默认匹配到行尾,如何让他匹配到第一个符合条件的字符
例如http://www.abcse123.com/123213/123/我只想要取 http://www.abcse123.com

代码如下
$Str = '})" href="http://www.abcse123.com/123213/123/"'
$sR = StringRegExp($Str,'\}\)" href="(.*)/\"',3)
Msgbox(0, $Str, $sR)

afan 发表于 2010-9-27 01:43:29

本帖最后由 afan 于 2010-9-27 01:52 编辑

这样行不
'\}\)" href="(.+\:\/\/.+?)\/'

如果没有其它的 http 也可以
'(http://.+?)\/'
或者
'http://[^\/]+'

006001 发表于 2010-9-27 09:31:40

正则感觉还是很难。

shano 发表于 2010-9-27 17:55:12

问题未解决赖我没贴出源码抓取百度搜索结果的网址 例如数组6如何整理成 http://yule.sohu.com
|http://yule.sohu.com/s2010/8jinying

#include<inet.au3>
#include <Array.au3>
$Source = _INetGetSource("http://www.baidu.com/s?wd=%B5%E7%CA%D3&pn=10&usm=2")
$sR = StringRegExp($Source,'\}\)" href="(.*)/\"',3)
_ArrayDisplay($sR, UBound($sR))

afan 发表于 2010-9-27 18:45:25

本帖最后由 afan 于 2010-9-27 18:53 编辑


#include <inet.au3>
#include <Array.au3>
$Source = _INetGetSource('http://www.baidu.com/s?wd=%B5%E7%CA%D3&pn=10&usm=2')
$sR = StringRegExp($Source, '\}\)" href="(http://.+?)\/', 3)
_ArrayDisplay($sR, UBound($sR))

shano 发表于 2010-9-27 23:20:46

谢谢    AFAN版的正则真是厉害
页: [1]
查看完整版本: StringRegExp使用的疑问(已解决)