notepad ++ Inverse Regex replace(文字列を除くすべて)

私は本質的に、この文字列 "Hello"を含むしない

例:

sdfsdoifdoskf
fdgokfdghodfkg
hello
fdojgohdfgjkdfg
gfobjobhkdfokgdfg
dofjkdsf hello dfgkdfogdfg
xcvmxhckvmxck
fogkdfhokg
hello

I attempted this Regex pattern : ^((?!hello).)*$

一致するものは見つかりませんでした。

基本的に私はnotepad ++を使って文字列 "hello"を含まないすべての行を削除したい

9
追加された 著者 Cees Timmerman,

3 答え

(以下のupdateを見てください)正規表現はすべて同じに作られているわけではありません。一つの場所で動作するという理由だけで別のもので動作するわけではありません。使用している種類のドキュメントを常に確認してください。

この場合、「!」はありません。オペレーター。私が気づいていない他の問題もあるかもしれません。

この状況で私が使用するハックは、「hello」の「現在のドキュメントをすべて検索」を実行し、検索ウィンドウの内容を別のドキュメントにコピー/ペーストし、行番号を削除することです。より良い方法が必要ですが、私が見つけるまで、それは私が持っている最高のものです!

行番号を取り除く正規表​​現は " ^ Line [0-9] +:"です。

Update: Version 6 of Notepad++ changed the regular expression engine to a Perl-compatible one, which supports "|". AFAICT, if you have a version 5., auto-update won't update to 6. - you have to explicitly download it.

4
追加された
@ user1064906はい、そうです。それを試してみてください! "現在のドキュメントのすべてを検索"
追加された 著者 Ed Staub,
@ user1064906最後にupdateを参照してください - 行番号を取り除くための正規表現を追加しました。
追加された 著者 Ed Staub,
それは私のためにはうまくいかず、私は "こんにちは"が入っている行全体をそのままにしておく必要があります。
追加された 著者 user1064906,
私の間違い、あなたは正しい。ありがとう
追加された 著者 user1064906,

^((?!hello).)*$ works in Notepad++ 6. I wonder if it's better than this: ^(?!.*hello).*$

4
追加された

新しいバージョン(私は最近6.2.2に更新されました)には!演算子を実装しました。 私はちょうどそれを試して、それは動作します。

1
追加された
"それは"疑問のパターンです。
追加された 著者 Cees Timmerman,