匹配换行除了以特定单词或空白行开头

时间:2015-06-22 03:59:21

标签: regex notepad++

如果我有文字表示换行符被破坏:

Chapter 1

Lorem ipsum dolor sit amet, consectetur adipisci
ng elit, sed do eiusmod  tempor incididunt ut la
bore et dolore magna aliqua. Ut enim ad minim ve
niam, quis nostrud exercitation ullamco labo ris
nisi ut aliquip ex ea commodo consequat. 


 Chapter 2

Lorem ipsum dolor sit amet, consectetur adipisci
ng elit, sed do eiusmod  tempor incididunt ut la
bore et dolore magna aliqua. Ut enim ad minim ve
niam, quis nostrud exercitation ullamco labo ris
nisi ut aliquip ex ea commodo consequat. 

Lorem ipsum dolor sit amet, consectetur adipisci
ng elit, sed do eiusmod  tempor incididunt ut la
bore et dolore magna aliqua. Ut enim ad minim ve
niam, quis nostrud exercitation ullamco labo ris
nisi ut aliquip ex ea commodo consequat. 

...

我希望通过删除除chapter行之外的非必要换行符来恢复文本:

Chapter 1

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod  tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco labo risnisi ut aliquip ex ea commodo consequat. 

 Chapter 2

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod  tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco labo risnisi ut aliquip ex ea commodo consequat. 

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod  tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco labo risnisi ut aliquip ex ea commodo consequat. 

...

我尝试匹配(?<!Chapter\s\d)\n并将其替换为&#39;&#39;在notepad ++中,它匹配章节行(为什么?)。 (?<!Chapter\s\d)\n\r(?<!Chapter\s\d)\r\n也无效。那么正则表达式可以删除多余的换行符?

1 个答案:

答案 0 :(得分:1)

试试这个正则表达式:

(?<=[a-zA-Z])(\n)

我用括号来捕捉换行符。

https://regex101.com/r/zS9pB4/3