找回密码  加入

AUTOIT CN

搜索
查看: 423|回复: 11

[系统综合] 请教一个正则的表达式的问题[已解决]

[复制链接]
发表于 2018-5-13 17:49:41 | 显示全部楼层 |阅读模式
本帖最后由 cashiba 于 2018-5-13 20:58 编辑
</li>
                    </ul>
                    <div class="tab-content tab-content-border">
                        <div id="a1" class="content" style="height: 106px;"><ul class="list">
    <li class="title" mp="Detail" ms="inform" pa="No=375&amp;Code=18P16&amp;SN=74&amp;tag=014">
        <span>云山草</span>
        <br>日期:2018-05-05&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        部门:设A部
    </li>    <li class="title" mp="Detail" ms="inform" pa="No=211&amp;Code=18P16&amp;tag=067&amp;tag=725">
        <span>扫地僧在行动</span>
        <br>日期:2018-03-06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        部门:交互1
    </li>    <li class="title" mp="Detail" ms="inform" pa="No=351&amp;Code=18P16&amp;tag=061&amp;tag=925">
        <span>神器之主</span>
        <br>日期:2011-04-13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        部门:运营$
    </li></ul></div>
                    </div>
                </div>
        </div>
        <div

如上网页源码
想提取出其中的数据如下
云山草,2018-05-05,设A部
扫地僧在行动,2018-03-06,交互1
神器之主,2011-04-13,运营$

使用如下表达式:
  1. <li class="title"[\s\S]*?mp="Detail"[^>]*>[\s\S]*?<span>(.*?)</span>[\s\S]*?<br>日期:(.*?)&nbsp;[\s\S]*?部门:(.*?)</li>
复制代码
在其它语言的正则工具里测试能得到结果
但是在AU3里却没有匹配反应
是写得不对吗?
发表于 2018-5-13 18:15:46 | 显示全部楼层
最后一节 “(.*?)</li>” 插入 “\s*”,即 “(.*?)\s*</li>”
 楼主| 发表于 2018-5-13 18:34:52 | 显示全部楼层
最后一节 “(.*?)” 插入 “\s*”,即 “(.*?)\s*”
afan 发表于 2018-5-13 18:15

还是不行,没结果....

本帖子中包含更多资源

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

x
 楼主| 发表于 2018-5-13 18:37:05 | 显示全部楼层
用其它的非AU3的正则测试工具有结果

本帖子中包含更多资源

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

x
发表于 2018-5-13 19:22:17 | 显示全部楼层

本帖子中包含更多资源

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

x
发表于 2018-5-13 19:23:49 | 显示全部楼层
你改的大写S
 楼主| 发表于 2018-5-13 20:36:30 | 显示全部楼层
你改的大写S
afan 发表于 2018-5-13 19:23

哦,是阿,大小写弄错了....
 楼主| 发表于 2018-5-13 20:56:36 | 显示全部楼层
明白咋回事了,非AU3测试软件,没有匹配的话会自动转换单行多行模式,所以能匹配
AU3则要自己确定模式
所以前面加个(?s)<li class="title"[\s\S]*?mp="Detail"[^>]*>[\s\S]*?<span>(.*?)</span>[\s\S]*?<br>日期:(.*?)&nbsp;[\s\S]*?部门:(.*?)</li>也可以....
 楼主| 发表于 2018-5-13 20:58:01 | 显示全部楼层
感觉这个表达式还是有些臃肿,不够简练.....
感谢A大!
发表于 2018-5-15 18:26:52 | 显示全部楼层
  1. (?s)>(\S+?)<.+?(\d.+?)&.+?门.(.+?)\v
复制代码
这样算简练么
 楼主| 发表于 2018-5-15 22:44:26 | 显示全部楼层
这样算简练么
haijie1223 发表于 2018-5-15 18:26

海总好厉害!就应该是这样子的....
发表于 2018-10-2 06:40:11 | 显示全部楼层
(?s)>(\S+?)<.+?(\d.+?)&.+?门.(.+?)\v

精彩,看懂了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2018-10-18 05:37 , Processed in 0.088238 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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