找回密码
 加入
搜索
查看: 7162|回复: 15

[网络通信] 请教正则取网页代码问题[已解决]

  [复制链接]
发表于 2013-12-8 15:15:58 | 显示全部楼层 |阅读模式
本帖最后由 傻娃 于 2013-12-9 19:49 编辑

<div class="box2">
    <p>维修处理信息</p>
    <table>
     <tr>
      <th></th>
      <td>
      
      
      
      </td>
     </tr>
     
     <tr>
      <th width="25%" style="text-align: right;">故障处理过程:</th>
      <td><textarea rows="5" style="width: 95%;" disabled="disabled">因编号在新系统上没维护成功原9
</textarea></td>
     </tr>
    </table>
   </div>


请教 怎么用正则取红色字体部分?
发表于 2013-12-8 17:10:53 | 显示全部楼层
(?i)disabled">([^<]+)
 楼主| 发表于 2013-12-8 19:37:05 | 显示全部楼层
回复 2# afan


   

为什么我获取不到??
#include <Array.au3>
#include <file.au3>
$Str=FileRead(@ScriptDir&"\1.txt")
$sR = StringRegExp($str,  '(?i)>([^<]+)', 3)
MsgBox(0,0,$sR[UBound($sR[0])])

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2013-12-8 20:53:19 | 显示全部楼层
回复 3# 傻娃


    表达式
 楼主| 发表于 2013-12-9 08:04:24 | 显示全部楼层
回复 4# afan
 
$html = _IEDocReadHTML ($oIE);读取源码
$sR = StringRegExp($html,  '(?i)disabled">([^<]+)', 3)
MsgBox(0,0,$sR[UBound($sR[0])])



为什么会出这个错误

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2013-12-9 11:07:08 | 显示全部楼层
回复  afan





为什么会出这个错误
傻娃 发表于 2013-12-9 08:04



    这是未捕获的原因。显然是你的 $html = _IEDocReadHTML 获得的并非你贴出来的网页源码。
 楼主| 发表于 2013-12-9 11:55:04 | 显示全部楼层
回复 6# afan


请教下  该怎么获取网页代码?  新手不是很明白。大神帮帮忙
发表于 2013-12-9 12:26:33 | 显示全部楼层
回复 7# 傻娃


    小菜的意思是,如果你用 $html = _IEDocReadHTML 获得的源码中有需要的内容,就直接用正则获取该源码的内容,而我之前贴出的表达式是针对你贴出的源码捕获的,因此,源码不同,表达式也会不同,需要对号入座。
源码的获取方式有很多种,可以根据需要使用满足自己条件的方式,你也可以试试搜索“网页 源码”
 楼主| 发表于 2013-12-9 18:53:06 | 显示全部楼层
回复 8# afan


   
$html1 = _IEDocReadHTML ($oIE);读取源码
MsgBox(0,0,$html1);这里可以显示全部的网页代码
$array1 = StringRegExp($html1, '(?i)disabled">([^<]+)', 1)
$array1 =$array1[0];子脚本使用了非数据组变量
MsgBox(0, "正则测试", $array1);这里却获取不到。
 楼主| 发表于 2013-12-9 19:09:24 | 显示全部楼层
回复 8# afan


    我想直接使用HTML   尝试很多种方法都不行。  我是镶入IE对象
 楼主| 发表于 2013-12-9 19:22:41 | 显示全部楼层
回复 8# afan


    大神, 如何能直接使用获取到的HTML?
 楼主| 发表于 2013-12-9 19:38:21 | 显示全部楼层
回复 11# 傻娃



 
#include <inet.au3>
#include <Array.au3>
#include <file.au3>
 $Str=FileRead(@ScriptDir&"\7.txt")
 $sR = StringRegExp($str, '(?i)disabled">([^<]+)', 3)
 MsgBox(0,0,$sR[UBound($sR[0])])





用上面的代码就出这个了 。   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2013-12-9 19:49:09 | 显示全部楼层
回复 12# 傻娃


搞定了。  用了你的工具搞定的正则。   你的工具太强大了
发表于 2013-12-12 18:32:47 | 显示全部楼层
呵呵。自己多动下手。不要急。慢慢来。
发表于 2013-12-19 16:29:45 | 显示全部楼层
学习一下.......11111111111111111111
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-14 16:12 , Processed in 0.096810 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表