找回密码
 加入
搜索
查看: 4658|回复: 8

[效率算法] 正则式提取特定内容,请大神指导

  [复制链接]
发表于 2015-1-10 18:54:05 | 显示全部楼层 |阅读模式
在我获取了网页的<body>....</body>中的内容后,想得到订单的类型和商品名称,折腾了好久,没写出来合适的正则式,求大神指导,部分网页的代码如下:
      <tr>        
        <td align="left"><span class="STYLE1">*</span>订单类型:网络订单</td>
        <td align="center"><span id="spanTaskPoint" style="font-size:14px;color:#FF0000">6.5</span></td>
      </tr>     
      
      <tr>
        
        <td align="left"><span class="STYLE1">*</span>商品名称:DIN912 内六角圆柱头螺钉 12.9级</td>
        <td align="center">&nbsp;</td>
      </tr>
发表于 2015-1-10 19:01:53 | 显示全部楼层
本帖最后由 半芯竹 于 2015-1-10 19:12 编辑

[^\x00-\xff]+.*(?=</td>)



#include <Array.au3>
Local $file = FileOpen(@ScriptDir&"\1.txt", 0)
If $file = -1 Then Exit
Local $chars = FileRead($file)
If @error = -1 Then Exit
Local $res = StringRegExp($chars,"[^\x00-\xff]+.*(?=</td>)",3)
If Not @error Then _arraydisplay($res,'test')
FileClose($file)


本帖子中包含更多资源

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

×
 楼主| 发表于 2015-1-10 19:40:08 | 显示全部楼层
本帖最后由 tunnyx 于 2015-1-10 21:08 编辑

谢谢,我再试试,我可以直接获取比如订单类型后面的"网络订单"的数据出来吗?
发表于 2015-1-10 22:03:07 | 显示全部楼层
(?=订单类型|商品名称)([^<]+)
发表于 2015-1-10 22:04:11 | 显示全部楼层
回复 3# tunnyx
(?:订单类型:)([^<]+)
发表于 2015-1-10 22:52:23 | 显示全部楼层
本帖最后由 半芯竹 于 2015-1-10 23:09 编辑

楼上的大师啊。膜拜。。。
学习了。。。
#include <Array.au3>
Local $file = FileOpen(@ScriptDir&"\1.txt", 0)
If $file = -1 Then Exit
Local $chars = FileRead($file)
If @error = -1 Then Exit
Local $res = StringRegExp($chars,"(?:\:)(.*(?=<))",3)
If Not @error Then _arraydisplay($res,'test')
FileClose($file)

 楼主| 发表于 2015-1-19 22:17:21 | 显示全部楼层
今天又遇到一个正则式问题,虽然下决心多看几遍正则式的书,但这年前的任务太忙了,还得来请教各位大神.
文本内容:"1 2 3 4 5 ... 共 XXX 页 第2页 确定","XXX"是从1到100,"共 "和" 页"都仅出现一次,请大神帮个忙,谢谢.
发表于 2015-1-20 11:56:39 | 显示全部楼层
回复 7# tunnyx


    我是没看懂你说的什么问题..详细一些好吗
 楼主| 发表于 2015-1-20 22:04:34 | 显示全部楼层
就是要提取的字符为"共 XXX  页"中的这个总页面,我们公司用的是一个考勤系统,每天员工打卡的记录会形成一个HTML文件,而且自动分页,我要读取每页的员工打卡记录,并且计算要循环多少次,所以,我这个总页数的记录出来.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 12:17 , Processed in 0.196503 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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