卫和谐 发表于 2011-11-25 16:04:07

[已解决]这个网页中的内容用正则怎么提取

本帖最后由 卫和谐 于 2011-11-25 21:50 编辑

<tr>
                <td width="10%" align="center" valign="middle" bgcolor="#FFFFFF">1</td>
                <td width="70%" align="left" valign="top" bgcolor="#FFFFFF"><a href="Info.aspx?id=55755" target="_blank"> 王某某</a></td>
                <td width="25%" align="center" valign="middle" bgcolor="#FFFFFF"> 1000票</td>
            </tr>

从上面代码中提取“王某某”   和 “1000票”这两个值?
不会正则,谁能够帮助 下!



在AFANR的帮助下已经解决!

xms77 发表于 2011-11-25 16:19:45

StringRegExp($text,'<a.*>\s*(.+)</a>.*\n.+>\s*(.+)</td>',1)

卫和谐 发表于 2011-11-25 16:45:13

回复 2# xms77


    谢谢,你这个只能提取第二个值~!

.個朲綉√ 发表于 2011-11-25 17:15:08

(?m)(?=bgcolor).*?">(\V+)</

(?m)(?=bgcolor).*?">(\W+)</

两个一起取,搞不定,等高人。。。。正则很神奇。。。

republican 发表于 2011-11-25 17:36:33

本帖最后由 republican 于 2011-11-25 17:40 编辑

回复 1# 卫和谐

StringRegExp($text,'>(\s.*?)<',3)

去空格,奇数组:

StringRegExp($text,'>(\s(.*?))<',3)

卫和谐 发表于 2011-11-25 18:03:07

回复 5# republican

还是不对啊

卫和谐 发表于 2011-11-25 18:17:44

一个一个的提取......

afan 发表于 2011-11-25 19:04:24

#include <Array.au3>
Local $Str = _
                '<tr>' & @CRLF & _
                '                <td width="10%" align="center" valign="middle" bgcolor="#FFFFFF">1</td>' & @CRLF & _
                '                <td width="70%" align="left" valign="top" bgcolor="#FFFFFF"><a href="Info.aspx?id=55755" target="_blank"> 王某某</a></td>' & @CRLF & _
                '                <td width="25%" align="center" valign="middle" bgcolor="#FFFFFF"> 1000票</td>' & @CRLF & _
                '            </tr>' & @CRLF
;MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '(?s)id=[^>]+>\h*(.+?)<.+?>\h*([^<]+票)', 3)
;If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中元素为: ' & $Test)
_ArrayDisplay($Test, UBound($Test))

卫和谐 发表于 2011-11-25 19:08:38

回复 8# afan


    我是想要分开来提取,就是一个正则提取"王某某"这部分,另一个正则提取"1000票"这部分!

afan 发表于 2011-11-25 19:11:40

本帖最后由 afan 于 2011-11-25 19:18 编辑

回复afan


    我是想要分开来提取,就是一个正则提取"王某某"这部分,另一个正则提取"1000票"这部分!
卫和谐 发表于 2011-11-25 19:08 http://www.autoitx.com/images/common/back.gif


    兄弟重口味呀…id=[^>]+>\h*(.+?)<>\h*([^<]+票)

卫和谐 发表于 2011-11-25 19:16:33

本帖最后由 卫和谐 于 2011-11-25 19:17 编辑

回复 10# afan

测试了一下不行啊.....因为有个票字在里面,导致混乱了!

afan 发表于 2011-11-25 19:17:27

回复 11# 卫和谐


    除非你的源字符串不对……

卫和谐 发表于 2011-11-25 19:18:14

回复 12# afan


    因为有个票字在里面,导致混乱了!

afan 发表于 2011-11-25 19:20:16

回复 13# 卫和谐


    票字不是关键字吗?有的地方没有?你需要提供更多的条件

卫和谐 发表于 2011-11-25 19:22:56

本帖最后由 卫和谐 于 2011-11-25 19:24 编辑

回复 14# afan

    5楼的:'>(\s.*?)<',3
是可以提取1000票这部分,可是前面多了个:   &nbsp;&nbsp;
没关键字,只是想分别提取"王某某"和"1000票"这两部分!
页: [1] 2 3 4
查看完整版本: [已解决]这个网页中的内容用正则怎么提取