yiruirui 发表于 2010-11-24 11:18:30

求一正则表达式,欢迎大家进来比画比画,非常谢谢!(已解决)

本帖最后由 yiruirui 于 2010-11-25 10:53 编辑

举例:
http://www.game6677.com/game/mumugames.html
从上面这个网页中获取两部分信息,一部分游戏的信息,另外一部分为游戏介绍.

需要截取两部分内容:
1
<div id="center2">
          <div class="column6">
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="27" colspan="4" class="top"><h1>木木小游戏 V2.2下载</h1></td>
            </tr>
          <tr>
            <td height="12" colspan="4"></td>
          </tr>
<tr>
            <td width="2%" rowspan="9">&nbsp;</td>
            <td>
            <ul>
               <li>中文名称:<span><strong>木木小游戏 V2.2</strong></span></li>
               <li>游戏类型:智力游戏</li>
               <li>游戏语言:简体中文</li>
               <li>游戏大小:1.98M</li>
               <li>运行环境:Windows</li>
               <li>官方站点:<a href="" target="_blank" rel="nofollow">点击访问</a></li>
               <li>整理时间:2009-09-01</li>
            </ul>            </td>
            <td width="37%" align="center" valign="middle"><a href="/game_img/mumugames_b.jpg" target="_blank" title="木木小游戏 V2.2"><img src="/game_img/mumugames.jpg" width="300" height="200"style="border:6px #e5e5e5 solid;" alt="木木小游戏 V2.2"/></a></td>
            <td width="2%" rowspan="9">&nbsp;</td>
          </tr>
2
<tr>
            <td height="25" valign="middle" colspan="2" bgcolor="#ffe8a5"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td height="24" bgcolor="#ffe8a5"><h2>【木木小游戏 V2.2游戏介绍】</h2></td>
                  <td width="80" bgcolor="#ffe8a5"><a href="#xgyx" rel="nofollow">相关查看</a></td>
                </tr>
            </table></td>
          </tr>
          <tr>
            <td colspan="2"><h4><div style="display: block; overflow: hidden; height: auto">木木小游戏&nbsp; V2.2</div>
<div id="content_all" style="display: block; overflow: hidden; height: auto">【基本介绍】<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 木木小游戏合集为国内最强最潮的小游戏客户端,拥有同类型软件无法比拟的超强功能。它不仅是小游戏爱好者们的装机必备软件,且为首屈一指方便实用的FLASH播放器,独特强大的FLASH文件播放、暂停、静音、全屏等功能,给你带来超爽震撼的游戏体验。</div>
<div style="display: block; overflow: hidden; height: auto">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 木木小游戏合集内容精彩纷呈,下载量过百万!!!当前最具人气Flash小游戏、火爆绿色单机小游戏、最新游戏资讯、最热门游戏排行,应有尽有。感谢广大支持木木FANS的宝贵意见,木木小游戏的成长离不开你们的支持!我们的宣言是:天天木木,天天开心!</div>
<div style="display: block; overflow: hidden; height: auto">&nbsp;</div>
<div style="display: block; overflow: hidden; height: auto">【软件特点】<br />
◆ 一点即玩,脱机联网双重模式选择 <br />
◆ 自动记忆已玩游戏,二次操作零等待 <br />
◆ 同类软件中游戏加载速度最快 <br />
◆ 一看就会,界面友好操作简单<br />
◆ 缓解学生压力疲劳,活跃大脑<br />
◆ 上班偷闲自在,午休娱乐好享受 <br />
◆ 装机必备、一次安装、一劳永逸</div>
<div style="display: block; overflow: hidden; height: auto">&nbsp;</div>
<div style="display: block; overflow: hidden; height: auto">【更新日志】<br />
新增游戏下载失败重试功能<br />
支持更多网页游戏播放<br />
新增游戏下载速度显示功能</div>
<p>&nbsp;</p></h4></td>
          </tr>
用A斑竹的正则工具测试了很长时间都没满足要求,特地到论坛发帖子求助,
期待A斑竹大驾光临!3Q!

漫反射 发表于 2010-11-24 14:02:52

人气那么低,给你顶上去

shenrenba 发表于 2010-11-24 14:39:36

#include <INet.au3>
#include <Array.au3>
$s = _source("http://www.game6677.com/game/mumugames.html")
_ArrayDisplay($s)
Func _source($url)
        $source = _INetGetSource($url)
        Local $info
        $sr1 = StringRegExp($source, "<li>([^<]*)", 3)
        $sr2 = StringRegExp(StringRegExpReplace(StringRegExpReplace($source, "&nbsp;", ""), "<br />", ""), 'auto">([^<]*)', 3)
        $info = $sr1 & $sr2
        For $i = 1 To 6
                $info[$i] = $sr1[$i]
        Next
        $info = $sr2 & @CRLF & $sr2
        $info = $sr2
        $info = $sr2
        Return $info
EndFunc   ;==>_source

afan 发表于 2010-11-24 21:13:12

(?s)(<div id="center2".+?;</td>\v\s+</tr>).+?(<tr>\v\s+(?:<[^<]+?>){2}\v\s+<tr>\v\s+<[^<]+?><h2>.+?介绍】<.+?</h.+?</tr>)

yiruirui 发表于 2010-11-25 10:48:04

回复 4# afan


    非常感谢A版主!你的Au3.REGHelper_0.9.8.1工具掀起了论坛学习正则表达式的热潮,这个工具很好用,提点小建议吧:当这个工具打开的时候好多键都不能正常使用了,被这个工具给占用了,比如F2等等,这里其实也不算问题吧?

afan 发表于 2010-11-25 10:51:59

回复 5# yiruirui


    你是用的0.9.8.1测试版吧,1.0正式版应该没这问题了~

yiruirui 发表于 2010-11-25 10:53:17

回复 6# afan


    期待之中。。。。。。。。3Q!

afan 发表于 2010-11-25 10:54:02

回复 7# yiruirui


    昨天就已经发布了… _ _||

水木子 发表于 2010-11-25 10:55:33

回复 8# afan

怎么没有通知我啊!{:face (229):}

afan 发表于 2010-11-25 10:57:55

本帖最后由 afan 于 2010-11-25 11:01 编辑

回复 9# 水木子


    晕了,昨天我看你没在线… 不好意思 :)
其实在工具的菜单帮助里面“访问论坛”可以直接抵达工具贴,最新动态都在一楼上方
原本想加个在线检查更新的,但因为需要访问网络,怕引起某些人的不安,还是算啦,呵呵
页: [1]
查看完整版本: 求一正则表达式,欢迎大家进来比画比画,非常谢谢!(已解决)