次のファイルがあるとします。
x
a
b
c
x
x
a
b
c
x
x
Notepad++ でシーケンス abcを検索 (および3 行全体を選択) したいとします。改行を正規表現で表現する方法を教えてください。
次のファイルがあるとします。
x
a
b
c
x
x
a
b
c
x
x
Notepad++ でシーケンス abcを検索 (および3 行全体を選択) したいとします。改行を正規表現で表現する方法を教えてください。
Notepad ++はそれを快適に行うことができます。正規表現は必要ありません
検索ダイアログボックスで左下を見て、検索モードを拡張に切り替えます。これにより、\n などが許可されます。
Windows 形式のファイルで作業している可能性として、\r\n (キャリッジ リターン、改行) を探します。
a\r\nb\r\nc
3行以上のパターンを見つけます
2012 年 6 月 18 日更新
新しいNotepad++ v6では、実際に正規表現で改行を検索できます。だからあなたはただ使うことができます
a\r\nb\r\nc
正規表現を使用して、目的を達成することもできます。\r\n
改行の Windows エンコーディングに注意してください。Unix ファイルでは、単に\n
.
残念ながら、正規表現検索を使用している場合、Notepad++ でそれを行うことはできません。Notepad++ は、正規表現の改行を処理しない Scintilla エディター コンポーネントに基づいています。
改行検索には拡張検索を使用できますが、3 行の検索には役立たないと思います。
詳細はこちら。
更新: Robb と StartClass0830 は拡張検索について正しかった。機能しますが、正規表現検索を使用する場合は機能しません。
^a\x0D\x0Ab\x0D\x0Ac
\x0D は改行、\x0A は改行です。ファイルの各行が ascii 10 と 13 で終わると仮定します。
これに対する回避策を見つけました。簡単に言えば、拡張モードでは、すべて\r\n
をドキュメントの残りの部分には存在しなかった文字列に置き換えます。( 、、 など,,,newline,,,
の特殊な正規表現文字に注意してください)。次に、正規表現モードに切り替え、いくつかの置換を行います (現在、改行は です)。次に、再度拡張モードに切り替えて、すべてを に置き換えます。$
&
*
,,,newline,,,
,,,newline,,,
\r\n
a\r\nb\r\nc
私にとってはうまくいきますが、そうではありません^a\x0D\x0Ab\x0D\x0Ac
うーん、改行が正規表現で機能しないのは残念です。ここで、再び Textpad に戻る必要があります。:(
Notepad++ では、テキストの目的の部分を強調表示してから CTRL+J を押すこともできます。
これにより、テキストが正当化され、すべての行末が削除されます。