xpban2006 发表于 2009-12-21 18:34:09

怎样提取这段字符啊?谢谢![送100金]

本帖最后由 xpban2006 于 2009-12-23 12:00 编辑

<a href="http://www.weather.com.cn/static/html/knowledge/20090616/5742.shtml" target="_blank">3-4级</a>
我只想要3-4这段,正则怎么写?谢谢啊,帮帮忙~~

afan 发表于 2009-12-21 18:37:41

$Str = '<a href="http://www.weather.com.cn/static/html/knowledge/20090616/5742.shtml" target="_blank">3-4级</a>'
Msgbox(0, 0, $str)
$sR = StringRegExp($str, 'blank\">(.+)级</a>', 3)
If @error = 0 Then MsgBox(0, 0, $sR)

顽固不化 发表于 2009-12-21 18:48:20

$sR = StringRegExp($str, 'blank\">(\d+-\d+)级</a>', 3)

xpban2006 发表于 2009-12-22 11:01:42

谢谢!!试试

xpban2006 发表于 2009-12-22 11:14:34

本帖最后由 xpban2006 于 2009-12-22 11:30 编辑

我试了,两个都不行啊,提示这个变量错误!

水木子 发表于 2009-12-22 11:32:20

本帖最后由 水木子 于 2009-12-22 11:36 编辑

正好这段时间在学校正则,个人认为正则没有标准答案,怎么方便怎么用呗!
上面两位前辈的代码我都测试了,可以使用的。$sR = StringRegExp($str, '>(.+)级</a>', 3)
If @error = 0 Then MsgBox(0, 0, $sR)

xpban2006 发表于 2009-12-22 11:43:36

我试过,原来我截取的那段有换行的啊,怪不得截不到,是这个样子的
<a href="http://www.weather.com.cn/static/html/knowledge/20090616/5742.shtml" target="_blank">
                3-4级
            </a>
不知怎么弄了?需加个换行还是?

水木子 发表于 2009-12-22 11:48:23

本帖最后由 水木子 于 2009-12-28 09:32 编辑

这送个“正则表达式测试工具”给LZ,自己写着玩的,希望能给你带来帮助!
特别感谢Afan前辈,感谢他给我的指点和帮助!
再次申明,我是发的免费附件!

http://www.autoitx.com/forum.php?mod=viewthread&tid=11541&extra=page%3D1

xpban2006 发表于 2009-12-22 11:53:02

嗯,我也试了,单弄这段字符可以,但就是截网页上的就不行,而且这个页面用的utf8的,你有时间可以试试的,这个网址,你在上面截是不行的

xpban2006 发表于 2009-12-22 11:53:54

:face (32):难道是传说的...

水木子 发表于 2009-12-22 11:54:01

本帖最后由 水木子 于 2009-12-22 11:55 编辑

回复7楼:$sR = StringRegExp($str, '(\d+-?\d+)级', 3)
If @error = 0 Then MsgBox(0, 0, $sR)

xpban2006 发表于 2009-12-22 12:04:18

我不是那个意思,我是说直接从网页上弄代码截取,截取不了的

水木子 发表于 2009-12-22 12:25:48

看来是你没有把问题说清楚哦!

xpban2006 发表于 2009-12-22 12:33:51

我原来一直怀疑是我表达式的问题,看样是网页代码比较特殊,但就是不知道怎么回事?求解啊~~送50金:face (29):

水木子 发表于 2009-12-22 12:45:33

什么网页啊?不妨发出来让大家看看呢!集思广益嘛!
页: [1] 2 3
查看完整版本: 怎样提取这段字符啊?谢谢![送100金]