このファイルがあるとします:
x
a
b
c
x
x
a
b
c
x
x
そして、Notepad ++でsequence abc(そしてwhole 3 lines)を見つけたい。正規表現で改行を表現する方法を教えてください。
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に戻る必要があります。 :(