• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現で特定文字列を含まない行を削除したいのですが)

正規表現で特定文字列を含まない行を削除する方法

このQ&Aのポイント
  • 正規表現を使用して、特定の文字列を含まない行を削除する方法について説明します。
  • テキストエディタ mi を使用して、正規表現を使って「※補足」という文字列を含む行だけを残し、他の行を削除する方法について説明します。
  • 具体的な検索文字列と置換文字列の設定方法について説明し、また、問題が発生している場合の対処法を説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • capy2009
  • ベストアンサー率72% (337/465)
回答No.1

mi の正規表現対応はクセがあるので、一般向けの記述が当てはまらない場合があります。 例えば「^.*※補足.*\n」→「」が機能しないのは、mi では改行コードを \r とすることになっているからです。「^.*※補足.*\r」→「」とすれば「※補足」を含む行を空白に変えてくれるはずです。 「^(?!.*\※補足).*$」が意図した通りに動かない理由も、多分何かの仕様の違いでしょう。試しに Jedit X で実行してみたら、ちゃんと「※補足」を含まない行を空白に変えてくれましたので、正規表現の文法自体は一般に通用するものです。

chack
質問者

お礼

早々のご回答をどうもありがとうございます。 何と! 仕様の違いなんてあったんですね。 なるほど、Jeditを試用版でもらってきて試してみたところ、確かに機能しました。 検索してみたところ、miの正規表現一覧なるページも見つかりました。 色々試してみたところ、Dreamweaverで使ったことのある正規表現が、今度はJeditで通用しませんでしたし、一口に正規表現と言ってもアプリケーションごとに互換性がない部分があるとは知りませんでした。 いやー、知識が浅すぎました。 どうもありがとうございました。