[已解决]这个网页中的内容用正则怎么提取
本帖最后由 卫和谐 于 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的帮助下已经解决! StringRegExp($text,'<a.*>\s*(.+)</a>.*\n.+>\s*(.+)</td>',1) 回复 2# xms77
谢谢,你这个只能提取第二个值~! (?m)(?=bgcolor).*?">(\V+)</
(?m)(?=bgcolor).*?">(\W+)</
两个一起取,搞不定,等高人。。。。正则很神奇。。。 本帖最后由 republican 于 2011-11-25 17:40 编辑
回复 1# 卫和谐
StringRegExp($text,'>(\s.*?)<',3)
去空格,奇数组:
StringRegExp($text,'>(\s(.*?))<',3)
回复 5# republican
还是不对啊 一个一个的提取...... #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)) 回复 8# afan
我是想要分开来提取,就是一个正则提取"王某某"这部分,另一个正则提取"1000票"这部分! 本帖最后由 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:17 编辑
回复 10# afan
测试了一下不行啊.....因为有个票字在里面,导致混乱了! 回复 11# 卫和谐
除非你的源字符串不对…… 回复 12# afan
因为有个票字在里面,导致混乱了! 回复 13# 卫和谐
票字不是关键字吗?有的地方没有?你需要提供更多的条件 本帖最后由 卫和谐 于 2011-11-25 19:24 编辑
回复 14# afan
5楼的:'>(\s.*?)<',3
是可以提取1000票这部分,可是前面多了个:
没关键字,只是想分别提取"王某某"和"1000票"这两部分!