找回密码
 加入
搜索
查看: 28096|回复: 13

[效率算法] 【已解决】正则提取问题?

 火.. [复制链接]
发表于 2013-8-25 11:09:54 | 显示全部楼层 |阅读模式
本帖最后由 nangua111111 于 2013-9-7 12:08 编辑
<BR>
<TABLE align=center>
<TBODY>
<TR>
<TD><SPAN class=STYLE5>ok1 </SPAN></TD></TR></TBODY></TABLE><BR>
<TABLE class=shodow_box cellSpacing=0 cellPadding=4 width=560 align=center>
<TBODY>
<TR>
<TD class=mytable2 width=60 height=20>
<DIV align=right>111111</DIV></TD>
<TBODY>
<TR>
<TD height=1></TD></TR></TBODY></TABLE><BR>
<TABLE align=center>
<TBODY>
<TR>
<TD><SPAN class=STYLE5>ok2 </SPAN></TD></TR></TBODY></TABLE><BR>
<TABLE class=shodow_box cellSpacing=0 cellPadding=4 width=560 align=center>
<TBODY>
<TR>
<TD class=mytable2 width=60 height=20>
<TABLE cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD height=1></TD></TR></TBODY></TABLE><BR>
<TABLE align=center>
<TBODY>
<TR>
<TD><SPAN class=STYLE5>ok3 </SPAN></TD></TR></TBODY></TABLE><BR>
<TABLE class=shodow_box cellSpacing=0 cellPadding=4 width=560 align=center>
<TBODY>
<TR>
<TD class=mytable2 width=60 height=20>
<TABLE cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD height=1></TD></TR></TBODY></TABLE><BR>
<TABLE align=center>
<TBODY>
<TR>
<TD><SPAN class=STYLE5>ok4 </SPAN></TD></TR></TBODY></TABLE><BR>
<TABLE class=shodow_box cellSpacing=0 cellPadding=4 width=560 align=center>
<TBODY>
<TR>
<TD class=mytable2 width=60 height=20>
<TR></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD height=1></TD></TR></TBODY></TABLE>
<HR>
一共有 20 条符合条件的记录! </SPAN></SPAN>
<P class=STYLE5> </P></TD></TR></TBODY></TABLE></TH></TR></TBODY></TABLE></TD></TR>
<TR>
<TD background=images/bg.gif bgColor=#a9cfe4 height=33>
<DIV align=center></DIV></TD></TR>
<TR>
<TD bgColor=#666666 height=50>
如何提取出

我用 (?s)<TD><SPAN class=STYLE5>(.*?)<TD><SPAN class=STYLE5>|(?s)<TD><SPAN class=STYLE5>(.*?)一共有
这个公式提取只能提取出两个 ,迷惑了

本帖子中包含更多资源

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

×
发表于 2013-8-25 11:34:01 | 显示全部楼层
(?si)<TD><S.+?(?=<TD><S|<P )

评分

参与人数 1金钱 +30 收起 理由
lpxx + 30 为什么我写的正则总是比你的长很多

查看全部评分

 楼主| 发表于 2013-8-25 11:46:40 | 显示全部楼层
回复 2# afan 谢谢

谢谢 ,afan。很高深。
发表于 2013-8-25 12:53:12 | 显示全部楼层
本帖最后由 lpxx 于 2013-8-25 12:55 编辑

回复 2# afan
A版,为什么我写的正则总是比你的长很多?他这个问题在群里提过,我思考了过了。我写的太长了。
发表于 2013-8-25 13:03:25 | 显示全部楼层
回复 4# lpxx


    呵呵 长点好…
我习惯取唯一特征,比如 </SPAN> ,如果没有其它的 </S... ,我就只取 </S
如果有多段长表达式,有很长一部分是相同的,那就只写一次相同部分,再用 | 来区别不同处
 楼主| 发表于 2013-8-25 16:12:58 | 显示全部楼层
先后次序选择,看来也是博大精深
发表于 2013-8-25 20:57:28 | 显示全部楼层
afan 发表于 2013-8-25 11:34



    P版能解释一下这个正则吗?
发表于 2013-8-25 21:05:19 | 显示全部楼层
回复 7# gto250


   
(?si) :表示不区分大小+“.”也可以匹配换行符

<TD><S.+? :需要匹配“<TD><S”开头的字符串,?可以懒惰到符合匹配后面表达式的最少字符串
(?=<TD><S|<P ) :给前面的表达式增加的辅助条件,后面要为“<TD><S”或“<P ”
发表于 2013-8-25 21:44:35 | 显示全部楼层
本帖最后由 lsb968 于 2013-8-25 22:01 编辑

好好研究研究……
回复 8# afan
(?=<TD><S|<P )是断言匹配??
 楼主| 发表于 2013-8-25 23:19:16 | 显示全部楼层
欢迎大家把其他方式都贴上来。
发表于 2013-8-26 08:35:33 | 显示全部楼层
好深奥,纯帮顶
发表于 2013-8-27 13:25:39 | 显示全部楼层
表示能看懂afan,不过afan的正则确实是登峰造极~
发表于 2013-8-28 15:49:19 | 显示全部楼层
回复 4# lpxx


    哪个群  求加入
发表于 2013-8-28 16:05:58 | 显示全部楼层
纯支持 正则不太懂
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-10 20:23 , Processed in 0.081833 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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