请教一个正则的表达式的问题[已解决]
本帖最后由 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&Code=18P16&SN=74&tag=014">
<span>云山草</span>
<br>日期:2018-05-05
部门:设A部
</li> <li class="title" mp="Detail" ms="inform" pa="No=211&Code=18P16&tag=067&tag=725">
<span>扫地僧在行动</span>
<br>日期:2018-03-06
部门:交互1
</li> <li class="title" mp="Detail" ms="inform" pa="No=351&Code=18P16&tag=061&tag=925">
<span>神器之主</span>
<br>日期:2011-04-13
部门:运营$
</li></ul></div>
</div>
</div>
</div>
<div
如上网页源码
想提取出其中的数据如下
云山草,2018-05-05,设A部
扫地僧在行动,2018-03-06,交互1
神器之主,2011-04-13,运营$
使用如下表达式:<li class="title"[\s\S]*?mp="Detail"[^>]*>[\s\S]*?<span>(.*?)</span>[\s\S]*?<br>日期:(.*?) [\s\S]*?部门:(.*?)</li>在其它语言的正则工具里测试能得到结果
但是在AU3里却没有匹配反应
是写得不对吗? 最后一节 “(.*?)</li>” 插入 “\s*”,即 “(.*?)\s*</li>” 最后一节 “(.*?)” 插入 “\s*”,即 “(.*?)\s*”
afan 发表于 2018-5-13 18:15 http://www.autoit3.cn/images/common/back.gif
还是不行,没结果....
用其它的非AU3的正则测试工具有结果
你改的大写S 你改的大写S
afan 发表于 2018-5-13 19:23 http://www.autoit3.cn/images/common/back.gif
哦,是阿,大小写弄错了....
{:face (189):} 明白咋回事了,非AU3测试软件,没有匹配的话会自动转换单行多行模式,所以能匹配
AU3则要自己确定模式
所以前面加个(?s)<li class="title"[\s\S]*?mp="Detail"[^>]*>[\s\S]*?<span>(.*?)</span>[\s\S]*?<br>日期:(.*?) [\s\S]*?部门:(.*?)</li>也可以.... 感觉这个表达式还是有些臃肿,不够简练.....
感谢A大!
{:face (332):} (?s)>(\S+?)<.+?(\d.+?)&.+?门.(.+?)\v这样算简练么 这样算简练么
haijie1223 发表于 2018-5-15 18:26 http://www.autoit3.cn/images/common/back.gif
海总好厉害!就应该是这样子的....
{:1_206:} (?s)>(\S+?)<.+?(\d.+?)&.+?门.(.+?)\v
精彩,看懂了。
页:
[1]