2

一部のテキストから余分な改行を削除する必要があります。終止符/ピリオド文字が直前にある改行のみを保持する必要があります.

以下のサンプル テキストでは、2 つの改行のみを保持する必要があり...arcu rhoncus.ます...ac in est.

Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis
semper ac in est.
Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique
vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur
ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id 
fringilla sem nunc vel mi.

これにはメモ帳++を使用しています。

保持したいものを以下に一致させることはできますが、ソリューション全体をどのように作成できるかわかりません。

[.]$
4

3 に答える 3

3

このコメントで示唆されているように、否定的な後読みはうまく機能します。Notepad++ でこの正規表現を検索し、単一のスペースに置き換えます。

(?<!\.)\s*\r\n\s*

\n代わりに持っているだけの場合は\r\n\r.

\r?Notepad++ を使用すると非欲張りに一致するように見えるため、\r削除されないことに注意してください。

Notepad++ v6.1.5 (UNICODE) での結果:

Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.
Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id fringilla sem nunc vel mi.
于 2013-03-20T14:43:26.603 に答える
2

ネガティブルックビハインドを使用して、スペースに置き換える必要があります。

(?<!\.)\r\n

この構成を知らない人(または後読みがサポートされていない場合)の別のオプションは、最初にすべての出現箇所を文字列などの\.\r\n別個のもの<rnt>に置き換え、次にすべての改行を削除してから、<rnt>もう一度\.\r\n置き換えることです。

于 2013-03-20T14:41:25.580 に答える
2

非後読みメソッドは次のとおりです。

検索する:

([^.])(\r\n)+

そして、次のものに置き換えます。

\1 

where\1の後にスペースが続きます。

+行内の複数の改行に一致させるには が必要であることに注意してください。そうしないと、すべての改行が一致するわけではありません。

于 2013-03-20T14:44:21.293 に答える