cashiba 发表于 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,运营$
使用如下表达式:<li class="title"[\s\S]*?mp="Detail"[^>]*>[\s\S]*?<span>(.*?)</span>[\s\S]*?<br>日期:(.*?)&nbsp;[\s\S]*?部门:(.*?)</li>在其它语言的正则工具里测试能得到结果
但是在AU3里却没有匹配反应
是写得不对吗?

afan 发表于 2018-5-13 18:15:46

最后一节 “(.*?)</li>” 插入 “\s*”,即 “(.*?)\s*</li>”

cashiba 发表于 2018-5-13 18:34:52

最后一节 “(.*?)” 插入 “\s*”,即 “(.*?)\s*”
afan 发表于 2018-5-13 18:15 http://www.autoit3.cn/images/common/back.gif
还是不行,没结果....

cashiba 发表于 2018-5-13 18:37:05

用其它的非AU3的正则测试工具有结果

afan 发表于 2018-5-13 19:22:17

afan 发表于 2018-5-13 19:23:49

你改的大写S

cashiba 发表于 2018-5-13 20:36:30

你改的大写S
afan 发表于 2018-5-13 19:23 http://www.autoit3.cn/images/common/back.gif
哦,是阿,大小写弄错了....
{:face (189):}

cashiba 发表于 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>也可以....

cashiba 发表于 2018-5-13 20:58:01

感觉这个表达式还是有些臃肿,不够简练.....
感谢A大!
{:face (332):}

haijie1223 发表于 2018-5-15 18:26:52

(?s)>(\S+?)<.+?(\d.+?)&.+?门.(.+?)\v这样算简练么

cashiba 发表于 2018-5-15 22:44:26

这样算简练么
haijie1223 发表于 2018-5-15 18:26 http://www.autoit3.cn/images/common/back.gif
海总好厉害!就应该是这样子的....
{:1_206:}

yangdai 发表于 2018-10-2 06:40:11

(?s)>(\S+?)<.+?(\d.+?)&.+?门.(.+?)\v

精彩,看懂了。
页: [1]
查看完整版本: 请教一个正则的表达式的问题[已解决]