我正在做一个Find&在Notepad ++中替换。每个部分都能正常工作,但是当我将整个字符串放在一起时,它就无法正常工作。
我正在编辑一个旧的HTML文档,原始页面会剪切文本,因此:
<div>
<h2>Title</h2>
<p>This is a line of[CR][LF]
text that was cut to[CR][LF]
fit on screen.</p>
</div>
我想找到切断文本并消除它们的换行符,但不是其他换行符。
我的正则表达式是:
([A-z0-9]+)[\r\n][ ]{3,}([A-z0-9]+)
将替换为:
$1 $2
我已经尝试了我的正则表达式的每一部分,他们都找到了我期望的结果:([A-z0-9]+)
找到文字,[\r\n]
找到我的换行符,[ ]{3,}
找到他们的初始缩进,([A-z0-9]+)
再次找到文本。
我甚至尝试了几组表达式,它们都有效:([A-z0-9]+)[\r\n]
在一行的末尾找到文本,[\r\n][ ]{3,}
在新行的开头用缩进找到换行符,并且[ ]{3,}([A-z0-9]+)
正在查找文本的初始缩进。
也许我有两个问题: 1)这是一个Notepad ++错误,还是我错过了正则表达式的东西? 2)关于通过其他表达来解决这个问题的任何想法?
如果它是一个错误,我想我可以试验和错误,直到有效。但是,报告错误可能会很好,所以如果有人可以验证这一点,那将会有所帮助。
答案 0 :(得分:1)
你的正则表达式:
([A-z0-9]+)[\r\n][ ]{3,}([A-z0-9]+)
匹配\r
OR \n
之一。
使用此:
([A-Za-z0-9]+)[\r\n]+[ ]{3,}([A-Za-z0-9]+)
或
([A-Za-z0-9]+)\R+[ ]{3,}([A-Za-z0-9]+)