日期:2014-05-16  浏览次数:20371 次

求一个正则表达式替换
我使用的是编辑器替换功能,基本要求是这样:
在一行中会有汉字,一行的末尾如果不是句号“。”和右尖括号“>”,一行的开始不能有空白符(tab制表符)开始,找到这样的字符串,去掉后面的换行符,比如

微微服务网微微文,
喂喂喂喂喂微微往往
微微网维大师地方
阿方索地方>
asdf群完地方大师傅。
   群完地方大师


上面这段文字处理后格式应该是

微微服务网微微文,喂喂喂喂喂微微往往微微网维大师地方阿方索地方>
asdf群完地方大师傅。


我使用sublimetext用这样的替换可以实现

搜索:(?!.*?[。>]$)([\u4e00-\u9fa5a-zA-Z0-9]+)\n
替换为:\1

基本功能有,但还会匹配一些特殊字符,比如
[
]
这两个字符,还有起始不能有空白符不知怎么加条件。

奇怪的是在notepad++里我上面的正则什么也搜索不出来。

求一个能在notepad++中使用,满足上面需求的正则替换。先谢过。

------解决方案--------------------


<textarea id="aa" rows="14" cols="133">
<h4>对国民经济的启示</h4>
从其他东亚经济体的经历来看,以资本驱动的增长是不可持续的。因此就目前
来看,提高生产率对于中国经济的未来至关重要,而中国在这方面也有很长的
路要走。尽管中国的劳动生产率在过去的十年中获得了显著提高,但与发达国
家相比仍有很大的差距,这意味着风险与机遇并存。
从其他东亚经济体的经历来看,以资本驱动的增长是不可持续的。因此就目前
来看,提高生产率对于中国经济的未来至关重要,而中国在这方面也有很长的
路要走。尽管中国的劳动生产率在过去的十年中获得了显著提高,但与发达国
家相比仍有很大的差距,这意味着风险与机遇并存。
</textarea>
<script type="text/javascript">
document.getElementById("aa").value = document.getElementById("aa").value.replace(/([^>。])[\r\n]+/g,"$1");
</script>


------解决方案--------------------
编辑器里对正则表达式的支持是不全的,你用网页写个替换工具多好