注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

蓝天堂

Venchia's Blog

 
 
 

日志

 
 

正则提取文字的问题  

2007-07-06 19:36:47|  分类: 天堂武馆 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

有这样的文字,不知道在emeditor种这个正则要怎么写,才能把下面的卷集,章节提取出来呢

在论坛发了求助帖子,收到了朋友的帮助,现在总结如下

 

  第一集

  第一章 始动

  “小卫啊,上工了。”工头老李看着一个正在埋头苦读的小伙子喊道。看到他那略显消瘦的身影,心中不由得叹息一声想到:“农家的孩子就是受苦啊,多好的孩子啊,前程就这么断送了。”再联想到自己的娃,也差不多到了该用钱的时候了,也不知道自己这点工钱够不够他上学用的?摇摇头不再乱想,转过身去上工了。

  第二章 突破

  连续一个星期了,陈卫还是每天都在修路,那个山头也被炸的差不多了,看样子再有几天就可以开始铺路了。

  但让陈卫纳闷不已的是,他现在每天晚上都会做同一个梦。就是那个关于“影子”陈卫的梦。更离谱的是梦的内容居然也都是一摸一样的。

  第三章 融合

  午夜时分,天上挂着一轮明月,白白的月光把大地照得也白茫茫的一片。陈卫盘膝坐在一个白天刚炸出来的一个大坑里,全身环绕着一层紫色的光雾----没错,他正在修炼。

提取成

 

第一集

第一章 始动

第二章 突破

第三章 融合

lifesinger@drl

 

(?<=^|(第.+[章集])).*?(?=$|(第.+[章集]))

替换为空

下面是金雕对这段代码的解释

 

先解释前半部分 (?<=^|(第.+[章集])).*?

最后的.*?是非贪婪匹配任意字符

?<=是lookbehind,判断.*?前面是不是开头^或(第.+[章集])

后半部分类似,?=是lookahead,判断.*?后面是不是结尾$或(第.+[章集])

因此接合起来,就是寻找 前面挨着 行首或(第.+[章集]) 同时后面挨着 行尾或(第.+[章集]) 的任意字符

也就是 除了 (第.+[章集]) 之外的所有字符

关于lookaround,可以参考 http://www.regular-expressions.info/lookaround.html

还有lefuzzbox@drl说的

用内部命令做的,不过好像对环境要求较高,他的环境是xp sp2 eng

 

findstr /R "\s*第.*[章集].*$" *.txt > output.txt

虽然在我的机器种没有试验出来,不过还是提供了一个思路

后来我用白杨的fr也试验成功了

http://baiy.cn/utils/f/index.htm

 

f *.txt -r:"\s*第.*[章集].*$"

另外还有mydvdrip@ccf说的,用awk的方法,不过没有环境,就没有测试了

 

awk '$1 ~ /^第.+集$/ { print }; $1 ~ /^第.+章$/ { print }' your_text_file.txt

  评论这张
 
阅读(540)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017