tunnyx 发表于 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)


tunnyx 发表于 2015-1-10 19:40:08

本帖最后由 tunnyx 于 2015-1-10 21:08 编辑

谢谢,我再试试,我可以直接获取比如订单类型后面的"网络订单"的数据出来吗?

lpxx 发表于 2015-1-10 22:03:07

(?=订单类型|商品名称)([^<]+)

lpxx 发表于 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)

tunnyx 发表于 2015-1-19 22:17:21

今天又遇到一个正则式问题,虽然下决心多看几遍正则式的书,但这年前的任务太忙了,还得来请教各位大神.
文本内容:"1 2 3 4 5 ... 共 XXX 页 第2页 确定","XXX"是从1到100,"共 "和" 页"都仅出现一次,请大神帮个忙,谢谢.

半芯竹 发表于 2015-1-20 11:56:39

回复 7# tunnyx


    我是没看懂你说的什么问题..详细一些好吗

tunnyx 发表于 2015-1-20 22:04:34

就是要提取的字符为"共 XXX页"中的这个总页面,我们公司用的是一个考勤系统,每天员工打卡的记录会形成一个HTML文件,而且自动分页,我要读取每页的员工打卡记录,并且计算要循环多少次,所以,我这个总页数的记录出来.
页: [1]
查看完整版本: 正则式提取特定内容,请大神指导