找回密码
 加入
搜索
查看: 4916|回复: 10

[效率算法] [解决一半]求一正则

  [复制链接]
发表于 2011-1-6 07:23:26 | 显示全部楼层 |阅读模式
本帖最后由 wwwwffff 于 2011-1-10 00:40 编辑

从一文本文档中获取带有关键字的那行及之后的几行(最多3行),并且之后的那几行里不能带有关键字也不能是空行。
先谢谢了,搞了几天都没结果。
比如在下面中获取带有关键字148的那行及之后最多3行最少0(不能有148也不能是空行,就是遇到148或空行就停住,不往下了)
=============================================================== 
〖005期〗〖173中148〗〖单〗开01中
=============================================================== 
〖006期〗〖174中145〗〖单〗开41中
=============================================================== 
〖007期〗〖175中146〗〖单〗开27中
=============================================================== 
〖008期〗〖176中147〗〖双〗开40中
=============================================================== 
〖009期〗〖177中148〗〖双〗开16中
=============================================================== 
〖010期〗〖178中148〗〖单〗开02错 
=============================================================== 
〖011期〗〖179中149〗〖双〗开02中
=============================================================== 
〖012期〗〖180中142〗〖双〗开28中
=============================================================== 
〖013期〗〖181中151〗〖双〗开40中
=============================================================== 
〖014期〗〖182中148〗〖单〗开41中

=============================================================== 
〖015期〗〖183中153〗〖单〗开13中
发表于 2011-1-6 08:02:41 | 显示全部楼层
是六合彩吗?
发表于 2011-1-6 08:29:01 | 显示全部楼层
本帖最后由 binghc 于 2011-1-6 08:38 编辑

嘿嘿,终于看到一道比较有意思的题目了:
不知道你这个‘====’分隔线算不算一行,如果不算可以先用stringregreplace替换掉:
这题比较有意思,为了让也别人玩一玩,我就将我的答案隐藏了

游客,如果您要查看本帖隐藏内容请回复
发表于 2011-1-6 09:18:30 | 显示全部楼层
本帖最后由 binghc 于 2011-1-7 13:40 编辑

完美版:(如果只有一行不会匹配出之后的空行)
〖005期〗〖173中148〗〖单〗开01中
〖006期〗〖174中145〗〖单〗开41中
〖007期〗〖175中146〗〖单〗开27中
〖008期〗〖176中147〗〖双〗开40中
〖009期〗〖177中148〗〖双〗开16中
〖010期〗〖178中148〗〖单〗开02错 
〖011期〗〖179中149〗〖双〗开02中
〖012期〗〖180中142〗〖双〗开28中
〖013期〗〖181中151〗〖双〗开40中
〖014期〗〖182中148〗〖单〗开41中



〖015期〗〖183中153〗〖单〗开13中

〖005期〗〖173中148〗〖单〗开01中



〖005期〗〖173中148〗〖单〗开01中
已修改:(不包含空行)
游客,如果您要查看本帖隐藏内容请回复
发表于 2011-1-6 11:58:24 | 显示全部楼层
急切的想看看楼上的强大回复
发表于 2011-1-6 12:00:07 | 显示全部楼层
描述不是很清楚…
后面最多3行,最少是1行还是0行?
等于号那行算不算?
自己看着改吧~
(?<=^|\n)\V+148\V+(?:\r\n=+\h*\v+(?:(?<!148).)+(?=\r|$)){0,3}
 楼主| 发表于 2011-1-6 23:13:30 | 显示全部楼层
本帖最后由 wwwwffff 于 2011-1-6 23:19 编辑

回复 6# afan

好强啊。
    等号那行也算,那行也有可能是其他东西,无所谓只要是在它下面就行。
想问一下你的代码中。一会\n一会\r\n或\v的,有何区别?不能都用\v吗
 楼主| 发表于 2011-1-6 23:18:59 | 显示全部楼层
回复 4# binghc


    厉害。
不够我的意思是遇到空行就停住,空行下面的不要了。
 楼主| 发表于 2011-1-7 01:45:40 | 显示全部楼层
假如是求某行,包含关键字X但不包含关键字Y,怎么写?
发表于 2011-1-7 13:36:00 | 显示全部楼层
本帖最后由 binghc 于 2011-1-7 14:01 编辑

回复 8# wwwwffff


    看来是我看错题目要求了,不过这样也更简单!4#已修改
发表于 2011-1-11 15:48:28 | 显示全部楼层
回复 4# binghc
学习,正则好强大 !
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-11 03:47 , Processed in 0.078741 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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