web-dev-qa-db-ja.com

正規表現のNotepad ++改行

このファイルがあるとします:

x
a
b
c
x
x
a
b
c
x
x

そして、Notepad ++でsequence abc(そしてwhole 3 lines)を見つけたい。正規表現で改行を表現する方法を教えてください。

35
PaN1C_Showt1Me

Notepad ++はそれを快適に行うことができ、正規表現さえ必要ありません

[検索]ダイアログボックスで左下を見て、検索モードを[拡張]に切り替えて、\ nなどを許可します。

Windows形式のファイルで作業しているオッズとして、\ r\n(復帰、改行)を探しています。

a\r\nb\r\nc

3行にわたってパターンを見つけます

50
Robb

2012年6月18日更新

新しい Notepad ++ v6 を使用すると、実際に正規表現で改行を検索できます。だからあなたはただ使うことができます

a\r\nb\r\nc

正規表現を使用しても、目的を達成できます。注意 \r\nは、改行のWindowsエンコードです。 Unixファイルでは、ちょうど\n

残念ながら、正規表現検索を使用している場合、Notepad ++でそれを行うことはできません。 Notepad ++は、正規表現の改行を処理しないScintillaエディターコンポーネントに基づいています。

改行検索には拡張検索を使用できますが、3行の検索に役立つとは思いません。

詳細 こちら

更新:RobbとStartClass0830は拡張検索について正しかった。機能しますが、正規表現検索を使用する場合は機能しません。

32
darioo
^a\x0D\x0Ab\x0D\x0Ac

これは動作します。\ x0Dは改行で、\ x0Aは復帰です。ファイル内の各行がascii 10および13で終わると仮定します。

8
TechTravelThink

これの回避策を見つけました。単純に、拡張モードでは、すべての\r\nをドキュメントの残りに存在しない文字列に置き換えます。 ,,,newline,,,$&*などの特殊な正規表現文字に注意してください)。次に、正規表現モードに切り替えて、いくつかの置換を行います(改行は,,,newline,,,です)。次に、拡張モードに再度切り替えて、すべての,,,newline,,,\r\nに置き換えます。

3
Kuchara

a\r\nb\r\ncは私には機能しますが、^a\x0D\x0Ab\x0D\x0Ac

うーん、改行が正規表現で動作しないのは残念です。次に、もう一度Textpadに戻る必要があります。 :(

0
Markstar